用scrapy進行網頁抓取

2021-06-20 23:09:38 字數 3751 閱讀 1893

最近用scrapy來進行網頁抓取,對於pythoner來說它用起來非常方便,詳細文件在這裡:

要想利用scrapy來抓取網頁資訊,需要先新建乙個工程,scrapy startproject myproject

工程建立好後,會有乙個myproject/myproject的子目錄,裡面有item.py(由於你要抓取的東西的定義),pipeline.py(用於處理抓取後的資料,可以儲存資料庫,或是其他),然後是spiders資料夾,可以在裡面編寫爬蟲的指令碼.

這裡以爬取某**的書籍資訊為例:

item.py如下:

python**  

from scrapy.item import item, field  

class bookitem(item):  

# define the fields for your item here like:

name = field()  

publisher = field()  

publish_date = field()  

price = field()  

我們要抓取的東西都在上面定義好了,分別是名字,出版商,出版日期,**,

下面就要寫爬蟲去網戰抓取資訊了,

spiders/book.py如下:

"http://test_url.com",   #這裡寫開始抓取的頁面位址(這裡**是虛構的,實際使用時請替換)

]  rules = (  

#下面是符合規則的**,但是不抓取內容,只是提取該頁的鏈結(這裡**是虛構的,實際使用時請替換)

#下面是符合規則的**,提取內容,(這裡**是虛構的,實際使用時請替換)

然後資訊抓取後,需要儲存,這時就需要寫pipelines.py了(用於scapy是用的twisted,所以具體的資料庫操作可以看twisted的資料,這裡只是簡單介紹如何儲存到資料庫中):

完成之後在setting.py中新增該pipeline:

python**  

item_pipelines = ['myproject.pipelines.mysqlstorepipeline']  

最後執行scrapy crawl bookspider就開始抓取了

用scrapy進行網頁抓取

最近用scrapy來進行網頁抓取,對於pythoner來說它用起來非常方便,詳細文件在這裡 要想利用scrapy來抓取網頁資訊,需要先新建乙個工程,scrapy startproject myproject 工程建立好後,會有乙個myproject myproject的子目錄,裡面有item.py ...

scrapy 網頁抓取時的定位問題

最近在做乙個簡單的靜態網頁內容抓取程式,在抓取過程中總是遇到定位不準確,資料返回值為空列表或者抓了一大堆非目標資訊的問題,讓我頭疼不已。思考之後,就想著做乙個簡單的歸納總結,以便以後抓取 時提高效率。1.鏈結命名方法 要做好準確網頁資料的定位,首先我認為要搞明白網頁資料位置的命名方法。這邊以中關村的...

如何進行網頁抓取資料??

最近老是做導資料,有時候沒有舊庫了,我們可以從老網頁抓取資料 主要思路 通過把網頁轉換成doc式的html,然後進行獲取元素的值 我來寫個案例 這是目標網頁 要抓取的資料 這是html 我們用f12都能看到的 不多說,直接上 publicdocument getdoc string url catc...