最近用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...