python爬虫简介

  • 关于爬虫使用

使用python编写的爬虫脚本(程序)可以完成定时定量,指定目标(Web站点)的数据爬取,主要使用多(单)线程/进程,网络请求库,数据解析,数据存储,任务调度等相关技术。

可以完成接口测试,功能性测试,性能测试和集成测试。

  • 爬虫与web后端服务之间的关系

爬虫使用网络请求库,相当于客户端请求,Web后端服务根据请求响应数据。

https://www.cnblogs.com/lauhp/p/8979393.html

爬虫向Web服务器发起HTTP请求,正确的接受响应数据,然后根据数据类型content-type进行数据解析及存储。

爬虫在发起请求之前,需要伪造浏览器User-Agent指定请求头,然后在向服务器发起请求。

  • 网络请求

常见网络请求库:

  1. urllib/urllib3,
  2. requests,
  3. selenium(UI自动测试,动态js渲染)
  4. appium(手机App的爬虫或UI测试)

数据解析:

  1. re正则
  2. xpath
  3. bs4
  4. json

序列化:把对象转换成字符串或者字节

反序列化:字符串或者字节转换成对象(字典,数组等)

序列化就是为了方便网络间的信息传输,字节码。

数据存储:

  1. pymysql
  2. mongodb

多任务库:

  1. 多线程(threading),线程队列queue
  2. 协程(asynio, gevent / eventlet)

爬虫框架:

  1. scrapy
  2. scrapy-redis(分布式)多机器爬虫

反爬虫策略:

  1. UA策略(user-agent)
  2. 登录限制(cookie)
  3. 请求频次(IP代理)
  4. 验证码(图片-云打码,滑块,文字或图片的选择)
  5. 动态js(Selenium/Splash/api接口)策略

scrapy

  1. request和beautifulsoup都是库,scrapy是框架
  2. scrapy框架中可以加入request和beautifulsoup
  3. scrapy基于twisted,性能是最大的优势
  4. scrapy内置的css和xpath selector非常方便,beautifulsoup(纯python写的)最大的缺点就是慢。

python爬虫简介_第1张图片

爬虫去重策略:

python爬虫简介_第2张图片

你可能感兴趣的:(python爬虫,python,爬虫,开发语言)