b0113 python 爬虫 (一) 总览
知识细节概括
浏览器反爬技术
- 验证请求header
- 验证refer 参数
- 动态渲染
- 判断请求频率,太快封掉ip
- 判断请求ip,同一个ip 经常爬取,封ip
- 需要提供密码登录
- 通过cookie判断
- 用验证码等技术
- 不提供web 数据,只提供手机APP
- 制定 robots文件,约定哪些能爬,哪些不能
- 异步加载
- 使用js代码,加强页面操作功能
总结
相关工具
- chrome F12, 用来访问页面,抓包,页面分析。 + 浏览器 xpath 插件,输入路径就能定位到页面元素
- postman 图形界面 用来执行 url 请求, 支持Post
- Selenium 从google的一个网站下载操作系统程序 + python 安装模块 + 对应的浏览器 比如chrome
- linux 下 无界面浏览器
- splash、Mechanize 浏览器
- Fiddler 、Charles、mitmproxy 等抓包工具
- pySpider、scrapy 等爬虫框架
相关技术
- html css javascript
- http https 通信
- 网页解析
- 并发, 多线程、多进程、分布式
- 搜索引擎
- 机器人、自动化、图灵测试
- 手机APP 数据抓取
- 抓包
- windows 自动化操作 autoit 脚本, 游戏程序代练, 自动化交易,自动化测试
- 攻击
- 对外提供的技术,前端、APP。 爬虫是对外索取技术
爬虫库
Python2
- urllib
- urllib2
Python3
- urllib
- urllib3
- requests
Selenium 渲染,对任意网站, 自动化测试
Scrapy 爬虫框架,类似搜索引擎。 对应Java的是 WebMagic 架构差不多。
框架读取 settings.py 文件,将各个部分组装起来。 3 负责爬取,数据存在内存 2 数据结构items.py, 最后通过 4 pipelinese.py 存储。 其中各个环节可以插入中间处理步骤, 5 中间件
解析
- re,正则表达式, 任意字符串
- lxml, xpath 解析 html、xml . e.xpath(...)
- HTMLParser
- beautifulSoup, 核心可以选lxml, 解析html xxx.<tag> xxx.find(...)
- pyQuery
存储
json ,txt,csv,xml
各种数据库
爬虫知识点
- 无状态处理 cookie,session
- 请求头 Header 设置
- 参数传递, post、get
- 表单请求
- 代理服务器设置
- 应对网站反爬,如果模拟浏览器,模拟真人的操作,图灵测试
- 需要登录账户、密码的访问
- robots 协议了解和遵守
- 异常处理
- 动态网页,AJAX 网页抓取
- 有JS 代码、渲染的网页抓取
- 对网站发送查询外的其他动作,点击
- 验证码处理
- 二进制对象,图片、音频、视频抓取
- 抓包
- xpath,css 定位html元素的方法。 和具体的工具无关
本地爬虫代码路径
2022 python3
D:\1_common\python\code\projects\Bigdata2022\Crawer
2018 python2
D:\1_common\python\code\warehouse\归类\爬虫\Python_Crawer
资料
site: 爬虫,总裁余(余登武)博客 质量不错。
|_____ 爬虫笔记:Requests库详解, 2021-01-25
|_____ 爬虫笔记:pyquery详解, 2021-01-29
|_____ 爬虫笔记:BeautifulSoup详解, 2021-01-27
|_____ 爬虫笔记:Urllib库详解
|_____ 爬虫笔记:Python Selenium详解
python爬虫之requests库的使用详解,liver100day,2021年11月18
Scrapy爬虫案例 | 数据存储至MongoDB, PythonGirl,2019-09-10
PostMan的详细介绍, 不当咸鱼 ,2019-10-21 #很详细
site W3Cschool Flask教程 # WEB 制作,无需安装 web服务器程序
Python中Selenium对Cookie的操作方法, 繁华似锦Fighting , 2021年07月09日