摘要:快速入門接上篇學習一安裝,安裝后,我們利用一個簡單的例子來熟悉如何使用創建一個爬蟲項目。創建一個項目在已配置好的環境下輸入系統將在當前目錄生成一個的項目文件。這部分才是業務的核心部分。提取的方式有幾種。具體代碼詳見入門項目
快速入門
接上篇Scrapy學習(一) 安裝,安裝后,我們利用一個簡單的例子來熟悉如何使用Scrapy創建一個爬蟲項目。
創建一個Scrapy項目在已配置好的環境下輸入
scrapy startproject dmoz
系統將在當前目錄生成一個myproject的項目文件。該文件的目錄結構如下
dmoz/ # 項目根目錄 scrapy.cfg # 項目配置文件 dmoz/ # 項目模塊 __init__.py items.py # 項目item文件,有點類似Django中的模型 pipelines.py # 項目pipelines文件,負責數據的操作和存儲 settings.py # 項目的設置文件. spiders/ # 項目spider目錄,編寫的爬蟲腳步都放此目錄下 __init__.py
接下來我們以dmoz.org為爬取目標。開始變現簡單的爬蟲項目。
編寫items在items.py中編寫我們所需的數據的模型
from scrapy.item import Item, Field class Website(Item): name = Field() description = Field() url = Field()
這個模型用來填充我們爬取的數據
編寫Spider在spiders文件下新建爬蟲文件。這部分才是業務的核心部分。
首先創建一個繼承scrapy.spiders.Spider的類
并且定義如下三個屬性
name 標識spider
start_urls 啟動爬蟲時進行爬取的url列表,默認為空
parse() 每個初始的url下載后的response都會傳到該方法內,在這個方法里可以對數據進行處理。
from scrapy.spiders import Spider from scrapy.selector import Selector from dirbot.items import Website class DmozSpider(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): sites = response.css("#site-list-content > div.site-item > div.title-and-desc") items = [] for site in sites: item = Website() item["name"] = site.css( "a > div.site-title::text").extract_first().strip() item["url"] = site.xpath( "a/@href").extract_first().strip() item["description"] = site.css( "div.site-descr::text").extract_first().strip() items.append(item) return items
其中值得注意的是,在parse方法內,我們可以用Selector選擇器來提取網站中我們所需的數據。提取的方式有幾種。
xpath() 傳入xpath表達式獲取節點值
css() 傳入css表達式獲取節點值
re() 傳入正則表達式獲取節點值 # 此方法本人未測試
運行并保存數據接下來我們運行爬蟲,并將爬取的數據存儲到json中
其他scrapy crawl dmoz -o items.json
在運行爬蟲的過程中,我遇到了如下報錯:
KeyError: "Spider not found: dmoz
這個是因為我的spider類中設置的name的值和我scrapy crawl運行的spider不一致導致的。
具體代碼詳見:
scrapy入門項目
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38422.html
摘要:楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,。本文來源知乎作者路人甲鏈接楚江數據提供網站數據采集和爬蟲軟件定制開發服務,服務范圍涵蓋社交網絡電子商務分類信息學術研究等。 楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,http://www.chujiangdata.com。 第一:Python爬蟲學習系列教程(來源于某博主:htt...
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
摘要:因為暫時還沒有學到如何模擬登陸,所以我就先抓像豆瓣這樣不需要登陸的網站上的內容。其中會回調函數,用是因為豆瓣圖書并不是格式一致的。只需要在中設置項目代碼地址豆瓣圖書爬蟲 前言 Scrapy學習(一) 安裝 Scrapy學習(二) 入門 有了前兩篇的基礎,就可以開始互聯網上爬取我們感興趣的信息了。因為暫時還沒有學到如何模擬登陸,所以我就先抓像豆瓣這樣不需要登陸的網站上的內容。我的開發...
摘要:爬蟲是我接觸計算機編程的入門。練練練本文推薦的資源就是以項目練習帶動爬蟲學習,囊括了大部分爬蟲工程師要求的知識點。拓展閱讀一文了解爬蟲與反爬蟲最后,請注意,爬蟲的工作機會相對較少。 爬蟲是我接觸計算機編程的入門。哥當年寫第一行代碼的時候別提有多痛苦。 本文旨在用一篇文章說透爬蟲如何自學可以達到找工作的要求。 爬蟲的學習就是跟著實際項目去學,每個項目會涉及到不同的知識點,項目做多了,自然...
閱讀 1969·2021-11-23 09:51
閱讀 882·2021-11-19 09:40
閱讀 836·2021-10-27 14:20
閱讀 5027·2021-10-09 09:52
閱讀 3305·2021-10-09 09:44
閱讀 1735·2021-10-08 10:05
閱讀 5094·2021-09-09 11:47
閱讀 3484·2019-08-30 12:47