爬虫入门
从今天开始让我们一起来学习一些爬虫的相关知识吧!这也是我在这个平台上第一次写博客来记录学习过程。有错误请大家多多指教!接下来就让我们一起开始吧!!!
(一) 什么是爬虫
1.1 爬虫的概念
爬虫用于爬取数据,又称为数据采集程序。
爬虫的数据来源于网络,而网络的数据可以有web服务器,数据库服务器云存储等等来提供。
注:利用爬虫去爬取数据当然要是合法的啦,比如你要爬取的数据必须是公开的而且是非盈利的。
1.2. python的爬虫
使用python编写的爬虫脚本(程序)可以完成定时,定量,指定目标(web站点)的数据爬取。主要使用多(单)线程/进程,网络请求库,数据解析,数据存储,任务调度等相关技术。
python爬虫工程师可以完成接口测试,功能性测试和集成测试。
(二 )爬虫与web后端服务之间的关系
爬虫使用网络请求库,相当于客户端请求,web后端服务器根据请求响应数据。(如下图)
————————————————
爬虫即向web服务器发起HTTP请求,正确的接受响应数据,然后根据数据的类型(Content-Type)来进行数据解析和保存。
爬虫程序在发送请求前需要伪造浏览器(User-Agent指定请求头),然后再向服务器发起请求。
(三)Python爬虫技术的相关库网络请求:
urllib
requests
selenium(UI自动测试,动态js渲染)
appium(手机app的爬虫或UI测试)
数据解析:
re正则
xpath
bs4
json
数据存储:
pymysql
mongodb
elasticsearch
多任务库:
多线程(threading)/线程队列(queue)
协程(asynio,gevent/eventlet)
爬虫框架:
scrapy
scrapy-redis分布式(多机爬虫)
(四)常见的反爬虫策略
UA(User-Agent)策略
登录限制(cookie)策略
请求频次(IP代理) 策略
验证码(图片-云打码,文字或物件选择,滑块等)策略
动态js(selenium/splash/api接口)策略
(五) 爬虫库urllib
大家可以访问这个网址查看详细的urllib库的使用哦!后续我会给大家单独更新这个库的具体使用方法。
https://www.runoob.com/python3/python-urllib.html
到这里今天的学习内容就结束啦!下次再见!