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