您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Scrapy框架怎么在python中使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Python 爬蟲包含兩個重要的部分:正則表達式和Scrapy框架的運用, 正則表達式對于所有語言都是通用的,網絡上可以找到各種資源。
如下是手繪Scrapy框架原理圖,幫助理解
如下是一段運用Scrapy創建的spider:使用了內置的crawl模板,以利用Scrapy庫的CrawlSpider。相對于簡單的爬取爬蟲來說,Scrapy的CrawlSpider擁有一些網絡爬取時可用的特殊屬性和方法:
$ scrapy genspider country_or_district example.python-scrapying.com--template=crawl
運行genspider命令后,下面的代碼將會在example/spiders/country_or_district.py中自動生成。
# -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from example.items import CountryOrDistrictItem class CountryOrDistrictSpider(CrawlSpider): name = 'country_or_district' allowed_domains = ['example.python-scraping.com'] start_urls = ['http://example.python-scraping.com/'] rules = ( Rule(LinkExtractor(allow=r'/index/', deny=r'/user/'), follow=True), Rule(LinkExtractor(allow=r'/view/', deny=r'/user/'), callback='parse_item'), ) def parse_item(self, response): item = CountryOrDistrictItem() name_css = 'tr#places_country_or_district__row td.w2p_fw::text' item['name'] = response.css(name_css).extract() pop_xpath = '//tr[@id="places_population__row"]/td[@class="w2p_fw"]/text()' item['population'] = response.xpath(pop_xpath).extract() return item
爬蟲類包括的屬性:
name: 識別爬蟲的字符串。
allowed_domains: 可以爬取的域名列表。如果沒有設置該屬性,則表示可以爬取任何域名。
start_urls: 爬蟲起始URL列表。
rules: 該屬性為一個通過正則表達式定義的Rule對象元組,用于告知爬蟲需要跟蹤哪些鏈接以及哪些鏈接包含抓取的有用內容。
關于Scrapy框架怎么在python中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。