您好,登錄后才能下訂單哦!
小編給大家分享一下python爬蟲框架scrap的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
關于Scrapy 簡介
Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。
安裝
在linux 和 Mac 系統下,可使用 pip安裝。
pip install scrapy
Windows上的安裝方式
conda install -c conda-forge scrapy
Scrapy 基本使用
第一步,創建項目
scrapy 提供了一些命令行工具,可直接生成項目代碼。我們可直接使用如下命令來生成項目代碼
scrapy startproject v6_scrapy
第二步,編寫Spider
在sipders目錄中,添加我們的爬蟲文件toutiao_spider.py,內容如下:
# -*- coding:utf-8 -*- import scrapy class ToutiaoSpider(scrapy.Spider): name = 'toutiao' start_urls = [ 'https://toutiao.io/c/ai?page=1', ] def parse(self, response): """ 實現html解析 :param response: :return: """ papers = response.xpath('//a[@rel="external"]') for paper in papers: title = paper.xpath('./@title').extract()[0] href = 'https://toutiao.io%s' % paper.xpath('./@href').extract()[0] print(title, href)
在完成之后,執行如下代碼啟動爬蟲:
scrapy crawl toutiao
第三步,定義item
scrapy 使用Item類來結構化數據,以方便對數據的操作。
class ToutiaoItem(scrapy.Item): title = scrapy.Field() href = scrapy.Field()
第四步,構建 Item pipeline 持久化到文件
我們看下如何將爬取到的數據保存到文件,代碼如下:
class V6ScrapyFilePipeline(object): def __init__(self): self.file = open('toutiao.json', 'wb') def process_item(self, item, spider): if item['title']: line = json.dumps(dict(item))+"\n" self.file.write(line.encode()) return item else: raise DropItem('在[%s]item中,沒有title關鍵字'%item)
以上是python爬蟲框架scrap的使用方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。