python爬虫第一课
本课讲解爬虫相关的知识点,包含以下内容
1.什么是爬虫(Spider)
2.爬虫与web后端服务器之间的关系
3.python爬虫技术的相关库
4.常见反爬虫的策略
5.爬虫库urllib,requests[重要]
一.什么是爬虫
1.1 爬虫Spider的概率
爬虫用于爬数据,又称之为数据采集程序
爬取的数据来源于网络,网络中的数据可以是由web服务器(Nginx/Apache),数据库服务器(MySQL,Redis),索引库(ElasrichSearch),大数据(Hbase/Hive),视频/图片库(FTP),云储存(oss)等提供。
爬取的数据是公开的,非盈利。
1.2 python爬虫
使用python编写的爬虫脚本(程序)可以完成定时,定量,指定目标(web站点。主要使用多(单)线程/进程,网络请求库,数据分析,数据储存,任务调度等相关技术。
python爬虫工程师,可以完全接口测试,功能性测试,性能测试和集成测试。
二.爬虫与web后端服务之间的关系
爬虫使用网络请求库,相对于客户端请求,web后端服务请求响应数据。
请求报文(请求头header和请求体boody以空行分开)
post/s HTTP/1.1
HOST:www.baidu.com
Content-Type:applicatio/json
Content-Length:24
{“name”:“disen”,“phone”:“17****313”}
响应报文()
HTTP/1.1 200
Content-Type:text/html,charset=utf-8
Content-Length:300
<html>
......
</html>
爬虫即向web服务器发起HTTP请求,正确地接收响应数据,然后根据数据的类型(Content-Type)进行数据的解析及储存。
爬虫程序在发起请求前,需要伪造浏览器(User_Agent指定请求头),然后再向服务器发起请求,响应200的成功率很多
三.python爬虫技术的相关库
网络请求:
1.1 urllib
1.2 requests/urllib3
1.3selenium(UI自动测试,动态js渲染)
1.4 appium(手机app的爬虫或UI测试)
数据解析:
1.1 re正则
1.2 xpath
1.3 bs4
1.4 json
四.常见反爬虫的策略
五.爬虫urllib【重要】




