用Python 的 Scrapy 爬取 网站
说到制作蜘蛛爬取网站听起来挺简单的,其实深究起来是个蛮综合的应用,有不少技能点需要点亮。比如:
- 基本的Request/Response
- HTML,CSS,XPath,JavaScript等前端技能点
即便你有这些技能点加成,不管你是Newbee还是老鸟,如果你坚持不懈的要制造自己的轮子,很多坑估计你死多少遍也填不平。这时候我适时的推荐你用Scrapy这个框架帮你实现你的小愿望。
这个例子假设你已经在很多其他的地方学会了如何创建一个Scrapy的项目了,打算活动一下筋骨,爬取一下链家北京的租房信息小试牛刀。
首先了解一下项目目录的结构:
- items.py : 定义你要爬取的内容
- middlewares.py : 定义一些中间组件,这些组件你可以想象成每次Request出去之前,Response回来之后安插在你的Spider之间的东西。这些组件会很有用。有的能帮你伪装成不同的浏览器,或者对特殊的响应代码做出不同的行为等等,总之这个时候你这里面什么都没有也是可以的。
- pipelines.py : 想像一下每个抓取的items逐次流经你的大型流水线,线上的工人有的可以帮你打标签,有的可以帮你包装,有的可以帮你检查是否是残次品。
- settings.py : 表里如一,人如其名
- spiders : 蜘蛛目录,里面就是你的每个小蜘蛛了&