谁用过python中的re来抓取网页,能否给个例子,谢谢

作者&投稿:子车施 (若有异议请与网页底部的电邮联系)
能否通过PYTHON 抓取网页上由JS生成的URL?~

最狠毒的方法是写一个js解释器,然后先把抓下来的页面送到js解释器,生成静态页面然后就可以了,你可以在google code上搜索一下

# -*- coding:utf-8 -*-import urllibimport re# 使用正则表达式限定抓取的网页地址regex = r'(.+?) 'pat = re.compile(regex)for page in Sub_pages: content = urllib.urlopen(page).read() info = re.findall(pat,content) print '
'.join(info)#改成这样试试

这是我写的一个非常简单的抓取页面的脚本,作用为获得指定URL的所有链接地址并获取所有链接的标题。

===========geturls.py================
#coding:utf-8
import urllib
import urlparse
import re
import socket
import threading

#定义链接正则
urlre = re.compile(r"href=[\"']?([^ >\"']+)")
titlere = re.compile(r"<title>(.*?)</title>",re.I)

#设置超时时间为10秒
timeout = 10
socket.setdefaulttimeout(timeout)

#定义最高线程数
max = 10
#定义当前线程数
current = 0

def gettitle(url):
global current
try:
content = urllib.urlopen(url).read()
except:
current -= 1
return
if titlere.search(content):
title = titlere.search(content).group(1)
try:
title = title.decode('gbk').encode('utf-8')
except:
title = title
else:
title = "无标题"
print "%s: %s" % (url,title)
current -= 1
return

def geturls(url):
global current,max
ts = []
content = urllib.urlopen(url)
#使用set去重
result = set()
for eachline in content:
if urlre.findall(eachline):
temp = urlre.findall(eachline)
for x in temp:
#如果为站内链接,前面加上url
if not x.startswith("http:"):
x = urlparse.urljoin(url,x)
#不记录js和css文件
if not x.endswith(".js") and not x.endswith(".css"):
result.add(x)
threads = []
for url in result:
t = threading.Thread(target=gettitle,args=(url,))
threads.append(t)
i = 0
while i < len(threads):
if current < max:
threads[i].start()
i += 1
current += 1
else:
pass

geturls("http://www.baidu.com")

使用正则表达式(re)只能做到一些比较简单或者机械的功能,如果需要更强大的网页分析功能,请尝试一下beautiful soup或者pyquery,希望能帮到你

urllib2抓取

re是不能抓去网页的
要抓取网页得用urllib,或者httplib
re是正则表达式,是分析要抓取的内容的模块!
很简单的!看看书吧!
或者假我:qq175662137


使用Python数据分析中常说的离散变量是什么,以及有哪些操作方法?_百度...
而pandas的get_dummies函数则能简洁地完成OneHot编码:```python pd.get_dummies(df, columns=['color', 'size'])```总的来说,Python为我们提供了一套强大的工具箱,帮助我们优雅地处理离散变量,让数据的分析更加精准和高效。通过适当的离散化、编码和转换,我们可以让非数字数据在机器学习的舞台上...

详解python中break语句的用法
一、用于循环中终止循环 当我们在循环过程中遇到某个条件,需要立即终止循环时,可以使用break语句。例如:在遍历一个列表时,如果找到特定的元素,就可以使用break语句结束循环。python for i in range:if i == 5: # 当i等于5时终止循环 break print # 在终止前打印数字 二、用于嵌套循环中终止...

毕业生必看Python中pip常用命令
py-m ensure pip--upgrade 另外一种方式是从官网上(https:\/\/bootstrap.pypa.io\/get -pip.py) 直接下载get-pip.py脚本, 然后直接运行python get-pip.py脚本即可 如何使用 安装后, 在命令行中输入pip, 然后按下回车, 就会出现使用说 明:如何使用 要是你觉得自己的pip版本有点低, 想要升级...

python编程有什么用
一、Python编程的应用场景 Python编程可以应用于多个领域,例如Web开发、数据分析、人工智能、网络爬虫等。下面列举了一些Python的应用场景:1、Web开发:Python可以使用Django和Flask等框架进行Web开发,可以快速地搭建出高性能、易维护的网站和Web应用。2、数据分析:Python可以使用NumPy、Pandas和Matplotlib等模...

Python列表用法大全学生需知
光明的科普时刻 2023-06-14 · 超过205用户采纳过TA的回答 关注 展开全部 Python列表用法大全 列表就是用来保存一组数据的,使用中括号[7将数据包起来,数据之间用英文逗号,隔开。 1、列表特点 如果列表是一个小姐姐,列表中的数据是一个个娃娃,那可以这样来描述列表是一个平易近人的小姐姐,她总会把书包里的...

python中% f的使用方法有哪些
1、定义变量sum1和num1,sum1用于存放所有奇数和,num1用于存放数值,并对其赋初始值。2、使用while来实现1-1000以内的循环。3、用if语句实现条件判断,是否为奇数。例如:求模运算,相当于mod,也就是计算除法的余数,比如5%2就得到1。python中%常用的操作有%s,%d,%r。s,%r,%d分别表示字符串以str...

python中的ifnot怎么用
Python中的`if not`用法 在Python中,`if not`是一个条件判断语句,用于测试一个条件的真实性。如果条件为假,则执行`if not`后面的代码块。以下是关于`if not`的 1. 基本用法 在编程过程中,我们经常需要基于某些条件来执行不同的操作。`if not`语句就是用来判断一个条件是否为假,如果为假,...

python中-=有什么作用?
-= 运算符的作用是什么?在Python中, -= 是赋值运算符中的一种,用来减去一个数值并将结果赋值给变量。比如,a -= 1 表示将 a 的值减去 1,并把结果重新赋值给 a。这个运算符可以用于各种数据类型,包括数字、列表、集合和字典等。使用 -= 运算符,可以极大地方便我们程序的编写。我们不需要...

在python中如何使用注释
一、python单行注释符号(#):井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释。print 1 #输出1,#号右边的内容在执行的时候是不会被输出的。二、批量、多行注释符号:在python中也会有注释有很多行的时候,这种情况下就需要批量多行注释符了。多行注释是用...

python中+=的用法
用法如下:python中+=的意思:1、两个值相加,返回值给符号左侧的变量;2、用于字符串连接,变量值带引号,数据类型为字符串。程序员必备接口测试调试工具:立即使用Apipost=Postman+Swagger+Mock+JmeterApi设计、调试、文档、自动化测试工具后端、前端、测试,同时在线协作,内容实时同步 本教程操作环境:...

兴庆区19272645678: 如何用 python 爬取简单网页 -
东荣盖洛: 测试环境:Windows10+Python3.5.2 打开命令提示符(管理员),输入pip3 install requests安装requests模块import requests,re #获取网页 r = requests.get('http://www.bilibili.com') #正则表达式获取标题 res = re.search(r'<title>([^<]*)</title>',r.text) print(res.group(1)) >>>哔哩哔哩弹幕视频网 - ( ゜- ゜)つロ 乾杯~ - bilibili

兴庆区19272645678: Python中怎样获取一网页上的内容?我想通过python读取网页上的各个不同的单词和分别出现的次数 -
东荣盖洛: 你好 首先,浏览器显示给用户的内容完全是根据html源码来的、所以,你想获取的一切浏览器显示的内容,都是在html文件中存在的内容 统计页面上的单词,必然是要读html源文件的 可以使用urllib2库,以及re库来进行匹配查找,代码如下: ...

兴庆区19272645678: 怎样用python爬取网页 -
东荣盖洛: # coding=utf-8 import urllib import re# 百度贴吧网址:https://tieba.baidu.com/index.html # 根据URL获取网页HTML内容 def getHtmlContent(url):page = urllib.urlopen(url)return page.read()# 从HTML中解析出所有jpg的图片的URL # 从HTML中...

兴庆区19272645678: python用re.findall获取网页全部符合要求的元素 -
东荣盖洛: 关键在于查找时间的正则表达式,也就是程序中reg变量的字符串,你可以去了解一下 import re s = """<a class="time" target="_blank" href="">昨天 00:26</a> <a class="time" target="_blank" href="">今天 00:26</a>"""...

兴庆区19272645678: python使用哪个模块能够解析网页获得DOM树结构 -
东荣盖洛: 三种方法:1. 正则表达式,python中re模块,python自带;2. pyquery,需另外安装;3. beautifulsoup,需另外安装.具体使用上,对于比较复杂的获取,后两者操作更方便,前者效率更高.

兴庆区19272645678: Python 正则匹配抓取到的网页超链接怎么URLopen -
东荣盖洛: re.findall返回的是列表,遍历列表将其值做为参数传入urlopen即可,类似于下面这样 for url in re.findall(XXXXXX):print urlopen(url).read()

兴庆区19272645678: python 怎样爬去网页的内容 -
东荣盖洛: 用python爬取网页信息的话,需要学习几个模块,urllib,urllib2,urllib3,requests,httplib等等模块,还要学习re模块(也就是正则表达式).根据不同的场景使用不同的模块来高效快速的解决问题.最开始我建议你还是从最简单的urllib模块学起,比如...

兴庆区19272645678: python 怎么抓取一个无论怎么跳转其url都不变的网页 -
东荣盖洛: 你拿到这个页面地址后,然后把这个地址中的id解析出来,这个id就是productId,然后就是根据那个接口一页一页的扫描了,页面结构可能会变,但是接口一般不会经常变

兴庆区19272645678: python如何抓取网页源代码中的字符串 -
东荣盖洛: 使用正则匹配,列:123456 importrequests importre req =requests.get(url) r =re.findall('<script src="(.*?)"></script>', req.text) # (.*?) 非贪zhi婪匹配 print(r) 自己网上找找python正则方面的知识

兴庆区19272645678: python获取网页信息 -
东荣盖洛: 首先你这个代码在我这里运行是ok的.Expires: Tue, 27 Jan 2015 03:56:41 GMT Date: Tue, 27 Jan 2015 03:55:21 GMT Server: nginx Content-Type: text/html; charset=GBK Vary: Accept-Encoding,User-Agent,Accept Cache-Control: max-age=80 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网