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
包括詳細輸出日誌和記錄