Urllib
Urllib是Python的内置库,包含以下四个模块
request
:发起请求
error
:在request模块中遇到错误时进行异常处理
parse
:解析URL地址
robotparser
:解析网站的robot.txt
模拟访问网页
我们用urlopen方法用Get请求方式访问百度
1 | import urllib.request |
urlopen
可以传入的参数有三个urllib.request.urlopen
(url, data=None, [timeout, ])
url是我们的请求链接,data是在post请求中携带参数的,timeout是设置请求超时时间
添加请求头信息
当我们要模拟浏览器访问的时候,我们需要添加请求头信息,使用request模块的Request方法
urllib.request.Request
(url, data=None, headers={}, method=None)
urlopen 默认是 Get 请求,当我们传入参数它就为 Post 请求了,而 Request 可以让我们自己定义请求的方式
data是post请求携带的信息,一般是密码账号之类
requests
requests库的函数更加简单
get
:r = requests.get(‘https://api.github.com/events‘)
post
:r = requests.post(‘https://httpbin.org/post‘, data = {‘key’:’value’})
伪装成浏览器
1 | >>> url = 'https://api.github.com/some/endpoint' |
具体内容见这篇文档
beautifulsoup
beautifulsoup是一个网页解析库,可以将我们得到的网页源码进行解析,过滤出自己想要的内容