1.爬取百度贴吧内容
import urllib.request
url = "http://tieba.baidu.com"
response = urllib.request.urlopen(url)
html = response.read() #获取页面源代码
print(html.decode('utf-8')) #转换为utf-8
爬虫结果展示:
1.urllib是python标准库中用于网络请求的库,有四个模块,urllib.request、urllib.error、urllib.parse、urllib.robotparser.
urlopen() :模拟浏览器发起HTTP请求,需要用到urllib.request模块,urllib.request不仅是发起请求,还能获取请求返回结果。
2.爬虫设置超时代码演示
在访问网页时常常会遇到这种情况,因为某些原因,如自己的计算机网络慢或者服务器压力大奔溃,导致请求是迟迟无法得到响应。应对这种情况,就需要我们在requests.urlopen()中通过timeout参数设置超时时间。
import urllib.request
url = "http://tieba.baidu.com"
response = urllib.request.urlopen(url,timeout=1)
print(response.read().decode("utf-8"))
爬虫结果展示:
4.data被转换成字节流,而data是一个字典,需要使用urllib.parse.urlencode( )将字典转换为字符串,再使用byte()函数转换为字节流, 最后使用urlopen()发起请求,请求是模拟post方式提交表单数据。
字典转换成字节流
import urllib.parse
import urllib.request
data = bytes(urllib.parse.urlencode({
'word':'hello'})