聚焦爬虫的流程

得到url_list即需要爬取的url地址,

发起请求,返回响应内容,

如果响应内容中还有你需要爬取的url再添加到url_list中,

再次发起请求,直到没有url或者不需要爬取的url,

提取数据,提取需要的数据,

最后一步,把数据存入数据库

requests模块

作用:发起请求,返回响应数据

requests的基本使用

requests.get(url)

response(响应的常见属性)

response.text      # 响应内容,str类型
response.content    # 响应内容,bytes类型
response.status_code   # 响应状态码
response.request.headers  # 响应对应的请求头
response.headers   # 响应头
response.request.cookies   # 响应对应请求的cookie
response.cookies   # 响应的cookie(经过了set-cookie动作)

response.text和response.content的区别

response.text
类型:str
如何修改编码方式: response.encoding=“gbk”

response.content
类型: bytes
如何修改编码方式: response.content.deocde("utf8")


获取网页源码的通用方式:
response.content.decode()
response.content.decode("GBK")
response.text

更推荐使用response.content.deocde()的方式获取响应的html页面

response.request.headers

1.1 为什么要带上请求头

模拟浏览器,欺骗服务器,获取和浏览器一致的内容

1.2 header的类型  

字典

1.3 用法

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"
....
} # 把这个字典赋值进去

response.get(url, headers
=headers)

请求参数

什么是请求参数

url问号后面的就是请求参数,也叫查询字符串

怎么获取

kw 也是一个字典类型
params=kw  这个就是获取查询字符串的属性
# 带上请求参数发起请求,获取响应
response = requests.get(url, headers=headers, params=kw)

requests模块

  • 在python2 和python3中通用,方法完全一样
  • requests简单易用
  • Requests能够自动帮助我们解压(gzip压缩的等)响应内容

 

posted on 2020-04-12 17:23  Leilok  阅读(112)  评论(0编辑  收藏  举报