国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python的爬蟲框架scrapy用21行代碼寫一個(gè)爬蟲

2020-02-23 04:35:14
字體:
供稿:網(wǎng)友

開發(fā)說明

開發(fā)環(huán)境:Pycharm 2017.1(目前最新)

開發(fā)框架:Scrapy 1.3.3(目前最新)

目標(biāo)

爬取線報(bào)網(wǎng)站,并把內(nèi)容保存到items.json里

頁面分析


根據(jù)上圖我們可以發(fā)現(xiàn)內(nèi)容都在類為post這個(gè)div里

下面放出post的代碼

<div class="post"><!-- baidu_tc block_begin: {"action": "DELETE"} --><div class="date"><span>04月</span><span class="f">07日</span></div><!-- baidu_tc block_end --><h2><a  rel="external nofollow" title="4月7日 淘金幣淘里程領(lǐng)取京東簽到" rel="bookmark" target="_blank">4月7日 淘金幣淘里程領(lǐng)取京東簽到</a><span>已結(jié)束</span></h2><h6>發(fā)布日期: 2017-04-07 | 分類: <a  rel="external nofollow" >虛擬幣</a> | 瀏覽:125177</h6><div class="intro"><p>淘金幣一鍵領(lǐng)取 http://021.tw/t/ https://www.chaidu.com/App/Web/Taobao-Coin/ 【電腦端30金幣】 https://taojinbi.taobao.com/inde ... auto_take=true 【手機(jī)端30金幣】 http://h5.m.taobao...</p></div></div>

實(shí)現(xiàn)方法

1、定義items

class DemoItem(scrapy.Item): id = scrapy.Field() title = scrapy.Field() href = scrapy.Field() content = scrapy.Field()

2、新建一個(gè)爬蟲名為test

# -*- coding: utf-8 -*-import scrapyfrom demo.items import DemoItemfrom scrapy.http import Requestclass TestSpider(scrapy.Spider): #定義爬蟲的名字和需要爬取的網(wǎng)址 name = "test" allowed_domains = ["www.abckg.com"] start_urls = ['http://www.abckg.com/'] def parse(self, response): for resp in response.css('.post'):  #實(shí)例化item  item = DemoItem()  #把獲取到的內(nèi)容保存到item內(nèi)  item['href'] = resp.css('h2 a::attr(href)').extract()  item['title'] = resp.css('h2 a::text').extract()  item['content'] = resp.css('.intro p::text').extract()  yield item   #下面是多頁面的爬取方法 urls = response.css('.pageinfo a::attr(href)').extract() for url in urls:  yield Request(url, callback=self.parse) categorys = response.css('.menu li a::attr(href)').extract() for ct in categorys:  yield Request(ct, callback=self.parse)

3、修改settings.py,添加以下代碼

FEED_EXPORT_ENCODING = 'utf-8'

#運(yùn)行

打開cmd輸入

scrapy crawl test -o items.json

已知bug

如果多次運(yùn)行該爬蟲,不會(huì)覆蓋原有的內(nèi)容,而是追加數(shù)據(jù)(好像是scrapy的bug)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 民县| 斗六市| 司法| 延边| 连云港市| 辉南县| 永兴县| 思茅市| 津南区| 浑源县| 金华市| 东阳市| 中超| 丰原市| 芷江| 宣汉县| 曲松县| 绵竹市| 余姚市| 丰都县| 林西县| 宣武区| 垣曲县| 桂阳县| 资兴市| 碌曲县| 新巴尔虎右旗| 镇赉县| 微博| 开江县| 湛江市| 体育| 肃南| 铜梁县| 乌兰浩特市| 峡江县| 彰化市| 图木舒克市| 浏阳市| 志丹县| 兰州市|