溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python爬蟲框架scrap的使用方法

發(fā)布時間:2020-11-11 09:28:35 來源:億速云 閱讀:326 作者:小新 欄目:編程語言

小編給大家分享一下python爬蟲框架scrap的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

關于Scrapy 簡介

Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。

安裝

linux 和 Mac 系統(tǒng)下,可使用 pip安裝。

pip install scrapy

Windows上的安裝方式

conda install -c conda-forge scrapy

Scrapy 基本使用

第一步,創(chuàng)建項目

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)

在完成之后,執(zhí)行如下代碼啟動爬蟲:

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的使用方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI