爬虫入门导论

1、爬虫spider的概念:爬虫用于爬取数据,又称之为数据采集程序。爬取的数据来源于网络,网络中的数据可以是由WEB服务器(Nginx/Apache)、数据库服务器(MySQL、Redis)、索引库(ElastichSearch)、大数据(Hbase/Hive)、视频/图片库(FTP)、云存储(OSS)等提供的。爬取的数据是公开的、非盈利的。

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

3、python爬虫工程师,可以完成接口测试、功能性测试、性能测试和集成测试。

4、爬虫与web服务器后端服务之间的关系:爬虫使用网络请求库,相当于客户端请求,Web后端服务根据请求响应数据。爬虫即向Web服务器发起HTTP请求,正确地接收响应数据,然后根据数据的类型(Content-Type)进行数据的解析及存储。爬虫程序在发起请求前,需要伪造浏览器(User-Agent指定请求头),然后向服务器发送请求,响应200的成功率高很多。

5、python爬虫技术的相关库:

网络请求:·urllib ·requests/urlib3 ·selenium(Ul自动测试、动态js渲染) ·appium(手机App的爬虫或UI测试)

数据解析:·re正则 ·xpath ·bs4 ·json

数据存储:·pymysql ·mongodb ·elasticsearch

多任务库:·多线程(threading)、线程队列queue ·协程(asynio、gevent/eventlet)

爬虫框架:·scrapy ·scrapy-redis分布式(多机爬虫)

6、常见的反爬虫的策略:

·UA(User-Agent)策略

·登录限制(Cookie)策略

·请求频次(IP代理)策略

·验证码(图片-云打码,文字或物件图片选择、滑块)策略

·动态js(Selenium/Splash/api接口)策略

你可能感兴趣的:(python)