摘要:,引言的架構初探一文講解了的架構,本文就實際來安裝運行一下爬蟲。第一次運行的測試成功,接下來的工作接下來,我們將使用來實現網絡爬蟲,省掉對每個人工去生成和測試的工作量。,文檔修改歷史,首次發布
1,引言
《Scrapy的架構初探》一文講解了Scrapy的架構,本文就實際來安裝運行一下Scrapy爬蟲。本文以官網的tutorial作為例子,完整的代碼可以在github上下載。
2,運行環境配置本次測試的環境是:Windows10, Python3.4.3 32bit
安裝Scrapy : $ pip install Scrapy #實際安裝時,由于服務器狀態的不穩定,出現好幾次中途退出的情況
3,編寫運行第一個Scrapy爬蟲3.1. 生成一個新項目:tutorial
$ scrapy startproject tutorial
項目目錄結構如下:
3.2. 定義要抓取的item
# -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # http://doc.scrapy.org/en/latest/topics/items.html import scrapy class DmozItem(scrapy.Item): title = scrapy.Field() link = scrapy.Field() desc = scrapy.Field()
3.3. 定義Spider
import scrapy from tutorial.items import DmozItem class DmozSpider(scrapy.Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" ] def parse(self, response): for sel in response.xpath("http://ul/li"): item = DmozItem() item["title"] = sel.xpath("a/text()").extract() item["link"] = sel.xpath("a/@href").extract() item["desc"] = sel.xpath("text()").extract() yield item
3.4. 運行
$ scrapy crawl dmoz -o item.json
1) 結果報錯:
A) ImportError: cannot import name "_win32stdio"
B) ImportError: No module named "win32api"
2) 查錯過程:查看官方的FAQ和stackoverflow上的信息,原來是scrapy在python3上測試還不充分,還有小問題。
3) 解決過程:
A) 需要手工去下載twisted/internet下的 _win32stdio 和 _pollingfile,存放到python目錄的libsitepackagestwistedinternet下
B) 下載并安裝pywin32
再次運行,成功!在控制臺上可以看到scrapy的輸出信息,待運行完成退出后,到項目目錄打開結果文件items.json, 可以看到里面以json格式存儲的爬取結果。
[ {"title": [" About "], "desc": [" ", " "], "link": ["/docs/en/about.html"]}, {"title": [" Become an Editor "], "desc": [" ", " "], "link": ["/docs/en/help/become.html"]}, {"title": [" Suggest a Site "], "desc": [" ", " "], "link": ["/docs/en/add.html"]}, {"title": [" Help "], "desc": [" ", " "], "link": ["/docs/en/help/helpmain.html"]}, {"title": [" Login "], "desc": [" ", " "], "link": ["/editors/"]}, {"title": [], "desc": [" ", " Share via Facebook "], "link": []}, {"title": [], "desc": [" ", " Share via Twitter "], "link": []}, {"title": [], "desc": [" ", " Share via LinkedIn "], "link": []}, {"title": [], "desc": [" ", " Share via e-Mail "], "link": []}, {"title": [], "desc": [" ", " "], "link": []}, {"title": [], "desc": [" ", " "], "link": []}, {"title": [" About "], "desc": [" ", " "], "link": ["/docs/en/about.html"]}, {"title": [" Become an Editor "], "desc": [" ", " "], "link": ["/docs/en/help/become.html"]}, {"title": [" Suggest a Site "], "desc": [" ", " "], "link": ["/docs/en/add.html"]}, {"title": [" Help "], "desc": [" ", " "], "link": ["/docs/en/help/helpmain.html"]}, {"title": [" Login "], "desc": [" ", " "], "link": ["/editors/"]}, {"title": [], "desc": [" ", " Share via Facebook "], "link": []}, {"title": [], "desc": [" ", " Share via Twitter "], "link": []}, {"title": [], "desc": [" ", " Share via LinkedIn "], "link": []}, {"title": [], "desc": [" ", " Share via e-Mail "], "link": []}, {"title": [], "desc": [" ", " "], "link": []}, {"title": [], "desc": [" ", " "], "link": []} ]
第一次運行scrapy的測試成功
4,接下來的工作接下來,我們將使用GooSeeker API來實現網絡爬蟲,省掉對每個item人工去生成和測試xpath的工作量。目前有2個計劃:
在gsExtractor中封裝一個方法:從xslt內容中自動提取每個item的xpath
從gsExtractor的提取結果中自動提取每個item的結果
具體選擇哪個方案,將在接下來的實驗中確定,并發布到gsExtractor新版本中。
5,文檔修改歷史2016-06-15:V1.0,首次發布
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37998.html
摘要:快速入門首先,初步要做的就是快速構建一個爬蟲。然后把結果加入到一個隊列中。既然是入門,我們肯定是先關心我們需要的。 因為公司項目需求,需要做一個爬蟲。所以我一個python小白就被拉去做了爬蟲。花了兩周時間,拼拼湊湊總算趕出來了。所以寫個blog做個記錄。 快速入門 首先,初步要做的就是快速構建一個爬蟲。 配置環境 Mac下安裝 1) 直接從官網下載 python下載官網 2) 是通過...
摘要:阿里云安裝腳本安裝腳本兩個腳本可以任選其一,速度都非常不錯。推薦的加速器有和阿里云。阿里云不同平臺的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說明。上一篇文章網絡爬蟲實戰爬蟲框架的安裝下一篇文章網絡爬蟲實戰部署相關庫 上一篇文章:Python3網絡爬蟲實戰---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis下一篇文章:Python3網絡爬蟲實戰---...
摘要:所以如果對爬蟲有一定基礎,上手框架是一種好的選擇。缺少包,使用安裝即可缺少包,使用安裝即可上一篇文章網絡爬蟲實戰爬取相關庫的安裝的安裝下一篇文章網絡爬蟲實戰爬蟲框架的安裝 上一篇文章:Python3網絡爬蟲實戰---9、APP爬取相關庫的安裝:Appium的安裝下一篇文章:Python3網絡爬蟲實戰---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis 我們直接...
摘要:注意爬豆爬一定要加入選項,因為只要解析到網站的有,就會自動進行過濾處理,把處理結果分配到相應的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關掉這個選項。 本課只針對python3環境下的Scrapy版本(即scrapy1.3+) 選取什么網站來爬取呢? 對于歪果人,上手練scrapy爬蟲的網站一般是官方練手網站 http://quotes.toscrape.com 我們中國人,當然...
摘要:相關鏈接使用說明安裝推薦使用安裝,命令如下驗證安裝安裝成功后會有一個可用命令,叫做,即部署命令。我們可以輸入如下測試命令測試是否安裝成功如果出現如圖類似輸出則證明已經成功安裝圖運行結果在后文我們會詳細了解它的用法。 上一篇文章:Python3網絡爬蟲實戰---12、部署相關庫的安裝:Docker、Scrapyd下一篇文章:Python3網絡爬蟲實戰---14、部署相關庫的安裝:Scra...
閱讀 2397·2021-10-09 09:44
閱讀 2132·2021-10-08 10:05
閱讀 3424·2021-07-26 23:38
閱讀 2991·2019-08-28 18:16
閱讀 812·2019-08-26 11:55
閱讀 1821·2019-08-23 18:29
閱讀 2035·2019-08-23 18:05
閱讀 1364·2019-08-23 17:02