爬虫三要素:抓取、分析、存储
通过url进行网页的抓取,当我们请求一个网页时,先通过域名解析到对应的ip地址,然后向浏览器发送请求,建立历TCP链接,服务器返回网页的内容。再由浏览器对内容进行解析。
01
基础的抓取
1
urllib 在Python2.x中我们可以通过urllib 或者urllib2 进行网页抓取,但是再Python3.x 移除了urllib2。只能通过urllib进行操作
import urllib.request
response = urllib.request.urlopen('https://blog.youkuaiyun.com/weixin_43499626')
print(response.read().decode('utf-8'))
2
requests库是一个非常实用的HTPP客户端库,是抓取操作最常用的一个库。Requests库满足很多需求
import requests
# get请求
response = requests.get(url='https://blog.youkuaiyun.com/weixin_43499626')
print(response.text) #打印解码后的返回数据
# 带参数的requests get请求
response = requests.get(url='https://blog.youkuaiyun.com/weixin_43499626', params={'key1':'value1', 'key2':'value2'}
02
需要登录的情况
1
表单提交登录 向服务器发送一个post请求并携带相关参数,将服务器返回的cookie保存在本地,cookie是服务器在客户端上的“监视器”,记录了登录信息等。客户端通过识别请求携带的cookie,确定是否登录
params = {'username': 'root', 'passwd': 'root'}
response = requests.post("http:xxx.com/login", data=params)
for key,value in re