付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教程pythonscrapyPython網(wǎng)絡(luò)爬蟲(chóng)Scrapy存入數(shù)據(jù)庫(kù)(轉(zhuǎn)載)scrapy三步曲scrapy的簡(jiǎn)介、安裝與實(shí)例(python抓取的爬蟲(chóng)框架)(原文地址:)實(shí)例,官方有個(gè)實(shí)例教程,算是比較簡(jiǎn)單了,然后后面有更詳細(xì)的一項(xiàng)項(xiàng)解釋,不過(guò)老實(shí)講我還真是看不太懂,很多地方?jīng)]有給出實(shí)例,所以我在網(wǎng)上找了一大堆資料后,弄了一個(gè)實(shí)例?,F(xiàn)在列出來(lái)跟大家分享。1.實(shí)例初級(jí)目標(biāo):從一個(gè)網(wǎng)站的列表頁(yè)抓取文章列表,然后存入數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)包括文章標(biāo)題、鏈接、時(shí)間首先生成一個(gè)項(xiàng)目:scrapy startproject fjsen目錄結(jié)構(gòu)大致如下:先定義下items,打開(kāi)items.py: 我們開(kāi)始建模的項(xiàng)
2、目,我們想抓取的標(biāo)題,地址和時(shí)間的網(wǎng)站,我們定義域?yàn)檫@三個(gè)屬性。這樣做,我們編輯items.py,發(fā)現(xiàn)在開(kāi)放目錄目錄。我們的項(xiàng)目看起來(lái)像這樣:# Define here the models for your scraped items# See documentation in:#import Item, Field class FjsenItem(Item):# define the fields for your item here like:# name = Field()title=Field()link=Field()addtime=Field()大家想知道更加詳細(xì)的話看:第二步:
3、定義一個(gè)spider,就是爬行蜘蛛(注意在工程的spiders文件夾下),他們確定一個(gè)初步清單的網(wǎng)址下載,如何跟隨鏈接,以及如何分析這些內(nèi)容的頁(yè)面中提取項(xiàng)目(我們要抓取的網(wǎng)站是這列表的所有十頁(yè)的鏈接和時(shí)間)。 新建一個(gè)fjsen_spider.py,內(nèi)容如下: #-*- coding: utf-8 -*-from scrapy.spider import BaseSpiderfrom scrapy.selector import HtmlXPathSelector from fjsen.itemsimport FjsenItemclass FjsenSpider(BaseSpider):nam
4、e=fjsenallowed_domains=start_urls=+str(x)+.htm for x inrange(2,11)+def parse(self,response):hxs=HtmlXPathSelector(response)sites=hxs.select(/ul/li)items=for site in sites:item=FjsenItem()itemtitle=site.select(a/text().extract()itemlink = site.select(a/href).extract()itemaddtime=site.select(span/text
5、().extract()items.append(item)return items name:是確定蜘蛛的名稱。它必須是獨(dú)特的,就是說(shuō),你不能設(shè)置相同的名稱不同的蜘蛛。allowed_domains:這個(gè)很明顯,就是允許的域名,或者說(shuō)爬蟲(chóng)所允許抓取的范圍僅限這個(gè)列表里面的域名。 start_urls:是一個(gè)網(wǎng)址列表,蜘蛛會(huì)開(kāi)始爬。所以,第一頁(yè)將被列在這里下載。隨后的網(wǎng)址將生成先后從數(shù)據(jù)中包含的起始網(wǎng)址。我這里直接是列出十個(gè)列表頁(yè)。 parse():是蜘蛛的一個(gè)方法,當(dāng)每一個(gè)開(kāi)始下載的url返回的Response對(duì)象都會(huì)執(zhí)行該函數(shù)。 這里面,我抓取每一個(gè)列表頁(yè)中的下的下的數(shù)據(jù),包括title,
6、鏈接,還有時(shí)間,并插入到一個(gè)列表中.第三步,將抓取到的數(shù)據(jù)存入數(shù)據(jù)庫(kù)中,這里就得在pipelines.py這個(gè)文件里面修改了 # Define your item pipelines here# Dont forget to add your pipeline to the ITEM_PIPELINESsetting# See:import sqlite3from os import pathfrom scrapy import signalsfrom scrapy.xlib.pydispatch import dispatcherclass FjsenPipeline(object):def
7、 _init_(self):self.conn=Nonedispatcher.connect(self.initialize,signals.engine_started)dispatcher.connect(self.finalize,signals.engine_stopped)def process_item(self,item,spider):self.conn.execute(insert into fjsenvalues(?,?,?,?),(None,itemtitle0,+itemlink0,itemaddtime0)return item def initialize(self
8、):if path.exists(self.filename):self.conn=sqlite3.connect(self.filename)else:self.conn=self.create_table(self.filename)def finalize(self):if self.conn is not None:mit()self.conn.close()self.conn=Nonedef create_table(self,filename):conn=sqlite3.connect(filename)conn.execute(create table fjsen(id integer primary keyautoincrement,title text,link text,addtime text)mit()return conn這里我暫時(shí)不解釋,先繼續(xù),讓這個(gè)蜘蛛跑起來(lái)再說(shuō)。 第四步:修改setting.py
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 各工種崗位安全測(cè)試場(chǎng)內(nèi)駕駛員三級(jí)安全教育試題及答案
- 護(hù)理安全管理制度試題及答案
- 2025年季度三級(jí)安全教育考試卷(含答案)
- 2025幼兒園食堂食品安全工作計(jì)劃
- XX小學(xué)“食品安全宣傳周”活動(dòng)總結(jié)
- 高支模及腳手架專項(xiàng)作業(yè)安全方案
- 食品加工企業(yè)生產(chǎn)主管食品安全與生產(chǎn)效率績(jī)效評(píng)定表
- 建筑梯籠搭建的安全措施與流程
- 員工職業(yè)技能提升培訓(xùn)課程
- 企業(yè)培訓(xùn)課程開(kāi)發(fā)及資源整合工具
- 小學(xué)三年級(jí)數(shù)學(xué)判斷題100題帶答案
- 互聯(lián)網(wǎng)運(yùn)維服務(wù)保障承諾函8篇范文
- 2025年(第十二屆)輸電技術(shù)大會(huì):基于可重構(gòu)智能表面(RIS)天線的相控陣無(wú)線通信技術(shù)及其在新型電力系統(tǒng)的應(yīng)用
- 帶壓開(kāi)倉(cāng)培訓(xùn)課件
- 電力三種人安全培訓(xùn)課件
- 電子科技大學(xué)自主招生人工智能自薦信范文
- 糧油供貨質(zhì)量保證措施
- 戒毒所生產(chǎn)安全知識(shí)培訓(xùn)課件
- 2025年電商公司全職員工勞動(dòng)合同范本
- 【高考生物】大二輪專題突破:第一篇 主題五 高考熱點(diǎn)(五) PCR的應(yīng)用
- 醫(yī)療質(zhì)量安全核心制度落實(shí)情況監(jiān)測(cè)指標(biāo)
評(píng)論
0/150
提交評(píng)論