爬虫基础

Posted wutongluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫基础相关的知识,希望对你有一定的参考价值。

聚焦爬虫的流程

得到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压缩的等)响应内容

 

以上是关于爬虫基础的主要内容,如果未能解决你的问题,请参考以下文章

[vscode]--HTML代码片段(基础版,reactvuejquery)

Python网络爬虫学习手记——爬虫基础

爬虫系列 2.2 爬虫基础2 -网页结构进阶

爬虫系列 2.2 爬虫基础2 -网页结构进阶

爬虫简单基础代码

总结整理 -- 爬虫技术(C#版)