1. 爬虫资源
1.1 常见的爬虫工具网站
爬虫工具库:https://spidertools.cn/#/
该网站涉及JSON、header、cookie、dict、JS等爬虫请求字段、以及响应数据常见的字段格式化与转换对比,还能够进行url参数提取与文本提取。除此之外,还有一些博客分享。
1.2 常用库的学习笔记
- 正则表达式学习笔记
- XPATH学习笔记
- Readability、Newspaper:爬虫正文智能文本解析库
本文介绍了Readability 和 Newspaper两个智能文本解析库,用于提取正文、标题等内容,通配大部分网页。 - curl_cffi:支持原生模拟浏览器 TLS/JA3 指纹的 Python 库
本文介绍了curl_cffi,用于解决requests.exceptions.SSLError: HTTPSConnectionPool(host='zhengce.beijing.gov.cn', port=443): Max retries exceeded with url:
类似错误,网页能正常打开,在使用requests 请求,总是报上述的错误。排查headers内容不全和代理不稳定以及网络等外界因素,在各个条件齐全的条件下报错依旧存在。
2. 爬虫学习笔记
- 爬虫逆向学习笔记(一):py调用js
目前常见的py调用js有三种方法:pyexecjs、PyV8、js2py,现主要使用pyexecjs
3. 爬虫实战
爬虫实战一:百度百科抓取洛天依个人信息
爬虫实战二:百度贴吧之全吧搜索
爬虫实战三:微信公众号历史文章爬取
爬虫实战三:微信公众号扫码登陆
爬虫实战四:微博个人主页、微博列表、微博评论接口分析与实现
本文以“李子柒”微博账号为例,对微博个人主页、微博博文列表、某条博文的评论进行接口分析与示例实现。
4. 逆向爬虫实战
- JS逆向实战一:企名片数据加密
本文对接口的响应结果数据进行逆向分析解密,同时解决execjs
在执行有中文响应数据出现gbk编码错误的问题。 - JS逆向实战二:建筑平台js逆向Error: Malformed UTF-8 data报错处理
本文对接口响应结果数据进行逆向分析解密,同时解决利用crypto-js
库出现Malformed UTF-8 data
报错处理,原因为未选对解密参数。 - JS逆向实战三:1688工厂信息
本文对请求头中的sign参数进行解密分析 - JS逆向实战四:某查查请求头逆向解密
本文主要介绍了如何逆向分析企查查网站请求头中的加密参数,即headers[i]=value
,确定了加密参数的生成位置及对应的JS文件。进一步分析发现,加密过程涉及o.default和a.default函数,分别用于生成编码值和进行HMAC-SHA512加密。