真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python爬蟲框架scrap的使用方法

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

成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西盟企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都做網(wǎng)站,西盟網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

關(guān)于Scrapy 簡介

Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架。 可以應(yīng)用在包括數(shù)據(jù)挖掘,信息處理或存儲(chǔ)歷史數(shù)據(jù)等一系列的程序中。

安裝

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

pip install scrapy

Windows上的安裝方式

conda install -c conda-forge scrapy

Scrapy 基本使用

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

scrapy 提供了一些命令行工具,可直接生成項(xiàng)目代碼。我們可直接使用如下命令來生成項(xiàng)目代碼

scrapy startproject v6_scrapy

第二步,編寫Spider

在sipders目錄中,添加我們的爬蟲文件toutiao_spider.py,內(nèi)容如下:

# -*- coding:utf-8 -*-
import scrapy
 
 
class ToutiaoSpider(scrapy.Spider):
    name = 'toutiao'
    start_urls = [
        'https://toutiao.io/c/ai?page=1',
    ]
 
    def parse(self, response):
        """
        實(shí)現(xiàn)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í)行如下代碼啟動(dòng)爬蟲:

scrapy crawl toutiao

第三步,定義item

scrapy 使用Item類來結(jié)構(gòu)化數(shù)據(jù),以方便對(duì)數(shù)據(jù)的操作。

class ToutiaoItem(scrapy.Item):
    title = scrapy.Field()
href = scrapy.Field()

第四步,構(gòu)建 Item pipeline 持久化到文件

我們看下如何將爬取到的數(shù)據(jù)保存到文件,代碼如下:

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關(guān)鍵字'%item)

以上是python爬蟲框架scrap的使用方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前標(biāo)題:python爬蟲框架scrap的使用方法
網(wǎng)站URL:http://weahome.cn/article/iiechi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部