作为python爬虫初学者,想用用笔记记录一下学到的知识点,毕竟书看完就吃灰,还是得习惯电子笔记才是。内容简略,仅供参考。
基本库之urllib
爬虫的学习从模拟浏览器向服务器发起请求开始,python支持丰富的类库帮助我们完成请求。
python3支持urllib库,官方链接:urllib
一,发送请求
1.代码示例:
import urllib.request
response = urllib.request.urlopen('请求的URL')
这样就完成了最简单的请求,接下来就可以进行提取信息等操作了。
urlopen()函数还可以传入其他可选参数,data(构造POST请求,传入的数据应用bytes()方法转化为字节流编码格式),timeout(超时时间,单位是秒)
2.代码示例:
Request构造请求:
import urllib.request
request = urllib.request.Request( URL,data(字节流),headers(请求头),origin_req_host(请求方IP),
unverifiable(默认False,请求是否验证),method(字符串,指定请求方法) )
二,解析链接
1.代码示例:
from urllib.parse import urlparse
result = urlparse(URL)
urlparse()方法拆解URL,相反urlunparse()方法合成URL。
2.代码示例:
from urllib.parse import urlencode
params = {'name':'xy',
'age':'18'
}
base_url = 'http://www.baidu.com?'
url = base_url + urlencode(params)
print(url)
运行得到结果:
http://www.baidu.com?name=xy&age=18
urlencode()非常好用,可以把参数用字典表示,然后可以直接构造。