首页 / 爬虫 / python爬虫基础之urllib
python爬虫基础之urllib
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python爬虫基础之urllib,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1928字,纯文字阅读大概需要3分钟。
内容图文
![python爬虫基础之urllib](/upload/InfoBanner/zyjiaocheng/621/77657a59a69f40b0b89761b04c0310a5.jpg)
urllib
urllib 是 Python 标准库中用于网络请求的库。该库有四个模块,分别是urllib.request
,urllib.error
,urllib.parse
,urllib.robotparser
。
-
获取网页源码:
urllib.request.urlopen(url)
-
数据需要字符串类型:
decode('utf-8')
-
数据需要bytes类型:
encode('utf-8')
-
网址拼接参数有汉字的,对汉字进行转义:
urllib.parse.quote(url,safe=string.printable)
-
拼接多个参数的:用字典来添加参数:
params = { 'wd': '中文', 'key': 'hello', 'value': 'world' }
-
对参数中包含汉字的进行转译:
str_params = urllib.parse.urlencode(params)
-
添加header
-
创建请求对象:
urllib.request.Request(url)
-
添加header:
request.add_header("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")
-
-
选择User-Agent,模拟浏览器进行爬虫
-
添加agent_list数组
user_agent_list = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50", "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50" ]
-
利用random选择agent_list数组中的一个
random_user_agent = random.choice(user_agent_list)
-
请求url:
request = urllib.request.Request(url)
-
添加User-Agent信息:
request.add_header("User-Agent",random_user_agent)
-
获取网页源码:
response = urllib.request.urlopen(request)
-
利用urllib实现代理功能
原因:系统的urllib并没有添加代理的功能所以需要我们自己定义这个功能
-
创建自己handler:
handler = urllib.request.HTTPHandler()
-
创建自己的openner:
openner = urllib.request.build_opener(handler)
-
用自己的openner请求数据:
response = openner.open(url)
-
添加代理
-
添加代理:
proxy = { "http": "127.0.0.1:80" }
-
创建代理handler:
proxy_handler = urllib.request.ProxyHandler(proxy)
-
创建代理openner:
openner = urllib.request.build_opener(proxy_handler)
-
利用代理openner请求数据:
response = openner.open(url)
-
内容总结
以上是互联网集市为您收集整理的python爬虫基础之urllib全部内容,希望文章能够帮你解决python爬虫基础之urllib所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。