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

首頁 > 編程 > Python > 正文

Python的爬蟲框架scrapy用21行代碼寫一個爬蟲

2019-11-25 16:13:58
字體:
來源:轉載
供稿:網友

開發說明

開發環境:Pycharm 2017.1(目前最新)

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

目標

爬取線報網站,并把內容保存到items.json里

頁面分析


根據上圖我們可以發現內容都在類為post這個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日 淘金幣淘里程領取京東簽到" rel="bookmark" target="_blank">4月7日 淘金幣淘里程領取京東簽到</a><span>已結束</span></h2><h6>發布日期: 2017-04-07 | 分類: <a  rel="external nofollow" >虛擬幣</a> | 瀏覽:125177</h6><div class="intro"><p>淘金幣一鍵領取 http://021.tw/t/ https://www.chaidu.com/App/Web/Taobao-Coin/ 【電腦端30金幣】 https://taojinbi.taobao.com/inde ... auto_take=true 【手機端30金幣】 http://h5.m.taobao...</p></div></div>

實現方法

1、定義items

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

2、新建一個爬蟲名為test

# -*- coding: utf-8 -*-import scrapyfrom demo.items import DemoItemfrom scrapy.http import Requestclass TestSpider(scrapy.Spider): #定義爬蟲的名字和需要爬取的網址 name = "test" allowed_domains = ["www.abckg.com"] start_urls = ['http://www.abckg.com/'] def parse(self, response): for resp in response.css('.post'):  #實例化item  item = DemoItem()  #把獲取到的內容保存到item內  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'

#運行

打開cmd輸入

scrapy crawl test -o items.json

已知bug

如果多次運行該爬蟲,不會覆蓋原有的內容,而是追加數據(好像是scrapy的bug)

可拓展內容

     1、定時運行爬蟲,當檢查到網站更新時獲取新數據并發郵件通知

     2、檢測數據是否重復

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者使用python能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成安县| 天台县| 诸城市| 邯郸市| 高唐县| 准格尔旗| 兴义市| 黔西县| 武安市| 余干县| 桂平市| 平乐县| 铅山县| 天镇县| 芜湖县| 山阴县| 夹江县| 原平市| 喜德县| 夏津县| 甘肃省| 翁源县| 贵溪市| 茂名市| 华亭县| 郸城县| 那坡县| 凌云县| 姜堰市| 苏尼特右旗| 道孚县| 天台县| 阿拉善右旗| 霍林郭勒市| 汉中市| 巴青县| 噶尔县| 抚顺县| 崇明县| 广安市| 兴山县|