日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python爬蟲基礎之初次使用scrapy爬蟲實例

瀏覽:227日期:2022-06-15 17:23:44
項目需求

在專門供爬蟲初學者訓練爬蟲技術的網站(http://quotes.toscrape.com)上爬取名言警句。

創建項目

在開始爬取之前,必須創建一個新的Scrapy項目。進入您打算存儲代碼的目錄中,運行下列命令:

(base) λ scrapy startproject quotesNew scrapy project ’quotes ’, using template directory ’d: anaconda3libsite-packagesscrapytemp1atesproject ’, created in: D:XXXYou can start your first spider with : cd quotes scrapy genspider example example. com

首先切換到新建的爬蟲項目目錄下,也就是/quotes目錄下。然后執行創建爬蟲文件的命令:

D:XXX(master)(base) λ cd quotes D:XXXquotes (master)(base) λ scrapy genspider quotes quotes.comcannot create a spider with the same name as your project D :XXXquotes (master)(base) λ scrapy genspider quote quotes.comcreated spider ’quote’ using template ’basic’ in module:quotes.spiders.quote

該命令將會創建包含下列內容的quotes目錄:

Python爬蟲基礎之初次使用scrapy爬蟲實例

robots.txt

robots協議也叫robots.txt(統一小寫)是一種存放于網站根目錄下的ASCII編碼的文本文件,它通常告訴網絡搜索引擎的網絡蜘蛛,此網站中的哪些內容是不應被搜索引擎的爬蟲獲取的,哪些是可以被爬蟲獲取的。

robots協議并不是一個規范,而只是約定俗成的。

#filename : settings.py#obey robots.txt rulesROBOTSTXT__OBEY = False分析頁面

編寫爬蟲程序之前,首先需要對待爬取的頁面進行分析,主流的瀏覽器中都帶有分析頁面的工具或插件,這里我們選用Chrome瀏覽器的開發者工具(Tools→Developer tools)分析頁面。

數據信息

在Chrome瀏覽器中打開頁面http://lquotes.toscrape.com,然后選擇'Elements',查看其HTML代碼。

可以看到每一個標簽都包裹在

Python爬蟲基礎之初次使用scrapy爬蟲實例

編寫spider

分析完頁面后,接下來編寫爬蟲。在Scrapy中編寫一個爬蟲, 在scrapy.Spider中編寫代碼Spider是用戶編寫用于從單個網站(或者-些網站)爬取數據的類。

其包含了-個用于下載的初始URL,如何跟進網頁中的鏈接以及如何分析頁面中的內容,提取生成item的方法。

為了創建一個Spider, 您必須繼承scrapy.Spider類,且定義以下三個屬性:

name:用于區別Spider。該名字必須是唯一-的, 您不可以為不同的Spider設定相同的名字。 start _urls:包含了Spider在啟動時進行爬取的ur列表。因此, 第一個被獲取到的頁面將是其中之一。后續的URL則從初始的URL獲取到的數據中提取。 parse():是spider的一一個方法。被調用時,每個初始URL完成下載后生成的Response對象將會作為唯一的參數傳遞給該函數。該方法負責解析返回的數據(response data),提取數據(生成item)以及生成需要進一步處理的URL 的Request對象。

import scrapy class QuoteSpi der(scrapy . Spider): name =’quote’ allowed_ domains = [’ quotes. com ’] start_ urls = [’http://quotes . toscrape . com/’]def parse(self, response) :pass

下面對quote的實現做簡單說明。

scrapy.spider :爬蟲基類,每個其他的spider必須繼承自該類(包括Scrapy自帶的其他spider以及您自己編寫的spider)。 name是爬蟲的名字,是在genspider的時候指定的。 allowed_domains是爬蟲能抓取的域名,爬蟲只能在這個域名下抓取網頁,可以不寫。 start_ur1s是Scrapy抓取的網站,是可迭代類型,當然如果有多個網頁,列表中寫入多個網址即可,常用列表推導式的形式。 parse稱為回調函數,該方法中的response就是start_urls 網址發出請求后得到的響應。當然也可以指定其他函數來接收響應。一個頁面解析函數通常需要完成以下兩個任務:

1.提取頁面中的數據(re、XPath、CSS選擇器)2.提取頁面中的鏈接,并產生對鏈接頁面的下載請求。頁面解析函數通常被實現成一個生成器函數,每一項從頁面中提取的數據以及每一個對鏈接頁面的下載請求都由yield語句提交給Scrapy引擎。

解析數據

import scrapy def parse(se1f,response) : quotes = response.css(’.quote ’) for quote in quotes:text = quote.css( ’.text: :text ’ ).extract_first()auth = quote.css( ’.author : :text ’ ).extract_first()tages = quote.css(’.tags a: :text’ ).extract()yield dict(text=text,auth=auth,tages=tages)

重點:

response.css(直接使用css語法即可提取響應中的數據。 start_ur1s 中可以寫多個網址,以列表格式分割開即可。 extract()是提取css對象中的數據,提取出來以后是列表,否則是個對象。并且對于 extract_first()是提取第一個運行爬蟲

在/quotes目錄下運行scrapycrawlquotes即可運行爬蟲項目。運行爬蟲之后發生了什么?

Scrapy為Spider的start_urls屬性中的每個URL創建了scrapy.Request對象,并將parse方法作為回調函數(callback)賦值給了Request。

Request對象經過調度,執行生成scrapy.http.Response對象并送回給spider parse()方法進行處理。

完成代碼后,運行爬蟲爬取數據,在shell中執行scrapy crawl <SPIDER_NAME>命令運行爬蟲’quote’,并將爬取的數據存儲到csv文件中:

(base) λ scrapy craw1 quote -o quotes.csv2021-06-19 20:48:44 [scrapy.utils.log] INF0: Scrapy 1.8.0 started (bot: quotes)

等待爬蟲運行結束后,就會在當前目錄下生成一個quotes.csv的文件,里面的數據已csv格式存放。

-o支持保存為多種格式。保存方式也非常簡單,只要給上文件的后綴名就可以了。(csv、json、pickle等)

到此這篇關于Python爬蟲基礎之初次使用scrapy爬蟲實例的文章就介紹到這了,更多相關Python scrapy框架內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久先锋影音| 老色鬼久久亚洲一区二区| 国产日本久久| 亚洲中字黄色| 日韩一区二区久久| 激情丁香综合| 激情婷婷综合| 先锋影音国产一区| 亚洲中午字幕| 亚洲视频国产| 无码日韩精品一区二区免费| 亚洲免费中文| 日本在线不卡视频| 国产午夜一区| 成人午夜在线| 久久一区二区三区电影| 欧美福利专区| 亚洲精品中文字幕乱码| 91视频精品| 亚洲伦乱视频| 国产亚洲永久域名| 亚洲三级国产| 亚洲久久视频| 日本不卡视频一二三区| 青草久久视频| 精品中文字幕一区二区三区四区| 精品日产乱码久久久久久仙踪林| 69堂免费精品视频在线播放| 免费亚洲一区| 久久久精品午夜少妇| 亚洲黄色影院| 欧美日一区二区在线观看| 视频一区中文| 日本在线不卡视频一二三区| 中文字幕一区二区三区日韩精品| 国产精品一区二区免费福利视频| 欧美视频久久| 欧美日韩精品一区二区视频| 亚洲三级在线| 国产欧洲在线| 亚洲天堂免费| 亚洲1234区| 三级欧美在线一区| 国产乱人伦丫前精品视频| 美女精品久久| 噜噜噜躁狠狠躁狠狠精品视频| 在线视频亚洲| 欧美亚洲自偷自偷| 久久婷婷丁香| 国产精品调教| 国产精品毛片在线| 高清不卡亚洲| 国产精品久久久一区二区| 伊人网在线播放| 日本久久二区| 国产亚洲精品自拍| 天堂中文av在线资源库 | 国产九一精品| 一区免费在线| 久久久久久婷| 国产亚洲高清一区| 日韩专区在线视频| 久久高清免费| 99久久精品网站| 久久国产毛片| 色88888久久久久久影院| 另类综合日韩欧美亚洲| 日韩欧美中文字幕一区二区三区| 日韩精品一区二区三区免费观看| 乱一区二区av| 欧美亚洲福利| 日韩av午夜在线观看| 亚洲人成毛片在线播放女女| 国精品一区二区三区| 久久久噜噜噜| 国际精品欧美精品| 日本a级不卡| 日本不卡一二三区黄网| 久久国内精品| 久久精品国产福利| 日韩av有码| 91九色精品| 中文字幕一区二区三区在线视频| 亚洲三级网址| 日韩欧美高清一区二区三区| 国产精品网在线观看| 亚洲日本网址| 欧美成人高清| 精品一区三区| 国产精品v日韩精品v欧美精品网站 | 日韩av首页| 四虎4545www国产精品| 中文字幕成在线观看| 免费在线亚洲欧美| 美日韩一区二区三区| 美女国产一区二区三区| 精品亚洲a∨| 97精品97| 国产精品久久观看| 在线观看免费一区二区| 丝瓜av网站精品一区二区| 亚洲二区免费| 一区二区不卡| 欧美在线看片| 国产极品久久久久久久久波多结野| 福利一区视频| 亚洲自啪免费| 欧美激情 亚洲a∨综合| 91av亚洲| 一区二区三区网站| 国产亚洲人成a在线v网站| 国产色播av在线| 欧美日韩在线观看首页| 伊人精品在线| 国产情侣久久| 精品日韩视频| 91精品丝袜国产高跟在线| 成人污污视频| 日韩精品一区第一页| 亚洲毛片视频| 久久精品二区三区| 男人的天堂亚洲一区| 久久久精品国产**网站| 影音国产精品| 久久伊人国产| 少妇精品久久久一区二区| 色爱综合网欧美| 亚洲3区在线| 国产国产精品| 精品三级国产| 欧美亚洲一区二区三区| 欧美特黄a级高清免费大片a级| 你懂的国产精品| 午夜一区在线| 91嫩草亚洲精品| 国产免费av一区二区三区| 蜜桃免费网站一区二区三区| 激情国产在线| 国产精品1区在线| 亚洲人成在线影院| 中文一区在线| 国产精品国产一区| 国产黄色一区| 69精品国产久热在线观看| 婷婷精品进入| 久久视频一区| 国产精品一区二区三区av| 蜜桃久久久久久久| 性一交一乱一区二区洋洋av| 成人精品久久| 日本欧美久久久久免费播放网| 99精品99| 亚洲激情久久| 久热re这里精品视频在线6| 蘑菇福利视频一区播放| 蜜臀久久99精品久久久画质超高清| 亚洲少妇一区| 日韩综合小视频| 国产精品一卡| 欧美在线首页| 成人一二三区| 欧美中文一区二区| 亚洲精选久久| 国产精品v一区二区三区| 久久国产麻豆精品| 国产一区二区三区不卡视频网站 | 国产亚洲字幕| 国产精品久av福利在线观看| 老司机免费视频一区二区| 国产一区二区三区四区| 999久久久亚洲| 久久xxxx| 美女精品久久| 在线一区电影| 日韩高清欧美激情| 欧美gv在线| 在线亚洲免费| 免费看一区二区三区| 久久精品网址| 日韩精品一级中文字幕精品视频免费观看 | 日韩欧美精品一区二区综合视频| 麻豆国产精品视频| 免费精品国产的网站免费观看| 视频一区中文字幕| 日韩欧美中文| 青草av.久久免费一区| 久久久精品国产**网站| 视频一区二区国产| 亚洲综合在线电影| av不卡在线| 欧美日韩一区二区三区不卡视频 | 美女视频网站久久| 国产精品88久久久久久| 麻豆精品蜜桃视频网站| 亚洲欧美日本国产专区一区| 精品国产不卡| 一区二区三区国产在线| 不卡专区在线| 国产精品v日韩精品v欧美精品网站| 日韩中文字幕91|