
书: https://pan.baidu.com/s/1o53U8DJYBlzPKes4X47C8Q?pwd=ymj8
笔记如下:
- “爬虫的本质是‘模拟浏览器行为’,
requests.get()发送HTTP请求,response.text获取HTML源码。” - “BeautifulSoup的
find_all()配合CSS选择器(如div.class > a)精准提取页面元素。” - “动态渲染页面需用Selenium的
WebDriver,driver.execute_script()执行JS代码。” - “Scrapy框架的
Spider类定义爬取逻辑,Item Pipeline处理数据存储。” - “反爬突破:
headers模拟User-Agent,proxies切换IP,cookies维持会话。” - “
re.compile(r'pattern')预编译正则表达式,提升匹配效率。” - “Ajax数据抓取:分析XHR请求,
json.loads()解析API返回的JSON数据。” - “增量爬虫:
md5(url)生成唯一标识,数据库去重避免重复采集。” - “
robots.txt是爬虫伦理底线,但无法律约束力,需谨慎遵守。” - “分布式爬虫用
Scrapy-Redis实现URL队列共享,Redis作调度中心。” - “验证码识别:
Pillow预处理图片,Tesseract-OCR或付费打码平台破解。” - “
time.sleep(random.uniform(1,3))随机延迟,降低被封风险。” - “数据存储四选一:
csv(轻量)、MySQL(关系型)、MongoDB(文档)、Redis(缓存)。” - “
mitmproxy中间人抓包,分析App端加密API请求。” - “Scrapy的
Downloader Middleware可自定义代理池和请求重试机制。” - “
PyQuery语法类似jQuery,doc('a').attr('href')快速获取属性。” - “
aiohttp+asyncio实现异步爬虫,吞吐量比同步请求高10倍。” - “数据清洗:
pandas处理缺失值,jieba分词中文文本。” - “法律风险:避免爬取个人信息(如手机号)和版权内容(如影视资源)。”
- “爬虫工程师的自我修养:‘像用户一样思考,像开发者一样分析’。”