Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
//安装教程很简单,我采用PIP命令安装
pip install scrapy
或者直接下载对应系统平台和python对应版本,安装即可(不会的自行百度)
我在windows 平台运行提示缺少import win32api库。记得自己没有下载这个安装。
Python for Windows Extensions
本次测试抓取python官方第三方库插件列表,其它网站类似,关键在于自行分析匹配规则。
//代码不多就这几十行
#test ok
import scrapy
class PypiPythonSpider(scrapy.Spider):
name = "python-demo"
allowed_domains = ["python.org"]
start_urls = ["https://pypi.python.org/pypi"]
def parse(self, response):
for sel in response.xpath('//tr[@class]').extract():
#sel.xpath('//td//@href').extract()
print'item \n'
yield {"info1": sel}
抓取格式如这样列表
example:
https://pypi.python.org/pypi
<tr class="even">
<td style="white-space: nowrap; text-align: center;">2016-05-25</td>
<td><a href="/pypi/django-rescuests/0.2.3">django-rescuests\xa00.2.3</a></td>
<td>A framework sending, tracking and retrying REST requests in Django.</td>
</tr>
也可以支持文件导出,参数比较多,自行学习。
scrapy runspideer main.py --outfile file
包括详细输出日志和记录