如果你正在学习编程, 那么 "爬虫" 绝对是你不可忽视的. 那么, 学习 python 爬虫之前需要哪些准备?
一颗热爱学习, 不屈不挠的心
一台有键盘的电脑(什么系统都行. 我用的 os x, 所以例子会以这个为准)
html 相关的一些知识. 不需要精通, 能懂一点就行
Python 的基础语法知识 .
当这些你都具备了, 这个时候你需要学习:
0. 基本的爬虫工作原理
1. 基本的 http 抓取工具: scrapy
2.Bloom Filter: Bloom Filters by Example
3. 如果需要大规模网页抓取, 你需要学习分布式爬虫的概念. 简单来说, 你只要学会怎样维护一个所有集群机器能够有效分享的分布式队列就好. 最简单的实现是 python-rq: https://github.com/nvie/rq
4.rq 和 Scrapy 的结合: darkrho/scrapy-redis . GitHub
5. 后续处理: 网页析取(grangier/python-goose . GitHub), 存储(Mongodb)
python 的火, 很大原因就是各种好用的模块, 这些模块是居家旅行爬网站常备的 --
NO.1 F12 开发者工具
看源代码: 快速定位元素
分析 xpath:1, 此处建议谷歌系浏览器, 可以在源码界面直接右键看
NO.2 抓包工具
推荐 httpfox, 火狐浏览器下的插件, 比谷歌火狐系自带的 F12 工具都要好, 可以方便查看网站收包发包的信息
NO.3 XPATH CHECKER (火狐插件)
非常不错的 xpath 测试工具, 不过也有几个小缺点,:
xpath checker 生成的是绝对路径, 遇到一些动态生成的图标(常见的有列表翻页按钮等), 飘忽不定的绝对路径很有可能造成错误, 所以这里建议在真正分析的时候, 只是作为参考
记得把如下图 xpath 框里的 "x:" 去掉, 貌似这个是早期版本 xpath 的语法, 目前已经和一些模块不兼容(比如 scrapy), 还是删去避免报错.
NO.4 正则表达测试工具
在线正则表达式测试 , 拿来多练练手, 也辅助分析! 里面有很多现成的正则表达式可以用, 也可以进行参考!
来源: http://developer.51cto.com/art/201805/573009.htm