Allen 2020-06-13 16:25:11 4713 0 0 0 0

Python爬虫Urllib模块

# Urllib模块(爬虫常用模块,python自带)
import urllib #导入urllib模块
import urllib.request #爬网页先导入这个
#打开网页,此时就将网页导入到内存了,并解码,如果解码有错误忽略
#data = urllib.request.urlopen("http://www.jd.com").read().decode("utf-8","ignore")
data = urllib.request.urlopen("https://www.cnblogs.com/ruogu/p/9606599.html").read().decode("utf-8","ignore")
# 判断是否爬到数据
# len(data) #检查是否爬到内容,如果数据有几千以上,证明成功
# 取出标题
import re
pat="<title>(.*?)</title>"
rst=re.compile(pat,re.S).findall(data)
print(rst)
# ['京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!']
# 将网页直接保存到本地文件
urllib.request.urlretrieve("http://www.jd.com",filename="d:\\test\\jd.html")
urllib.request.urlretrieve("https://tool.oschina.net/commons",filename="d:\\test\\在线工具.html")
+++
# 浏览器伪装
# 比如爬糗事百科
data = urllib.request.urlopen("http://www.qiushibaike.com").read().decode("utf-8","ignore")
# 不能爬到数据,提示:RemoteDisconnected: Remote end closed connection without response
# 说明远程关闭了我们的连接,可能识别了爬虫。
# 网站会判断是否是浏览器,如果不是浏览器则断开连接不响应
# user-Agent:
#浏览器伪装
#尝试
url="https://www.qiushibaike.com/"
#data=urllib. request. urlopen(url) . read() .decode ("utf-8", "ignore")
opener=urllib.request.build_opener () # build_opener是可以添加一些高级设置的对象
UA= ("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (kHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
opener.addheaders= [UA]
urllib.request.install_opener(opener) # 安装为全局,全局生效后,urlopen就可以用了
data=urllib.request.urlopen(url).read().decode("utf-8","ignore")

end


Tag: Python Urllib
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Pyhon爬虫]   ·   返回顶部