摘要:這次我們爬取的內(nèi)容準(zhǔn)備步驟找到格式網(wǎng)頁(yè)中需要爬取的數(shù)據(jù)的例如我們需要爬取圖片的這里用的是不會(huì)用的同學(xué)請(qǐng)百度然后我們開始建立工程打開然后在你想要建立工程的目錄下面輸入就會(huì)自動(dòng)建立一個(gè)工程然后去根目錄建立一個(gè)去這個(gè)目錄里建立一個(gè)注意這里的主爬蟲
這次我們爬取的內(nèi)容 準(zhǔn)備步驟
找到html格式網(wǎng)頁(yè)中需要爬取的數(shù)據(jù)的xpath
例如我們需要爬取圖片的url
這里用的是xPath Checker不會(huì)用的同學(xué)請(qǐng)百度
2.然后我們開始建立工程 打開cmd 然后在你想要建立工程的目錄下面 輸入 scrapy startproject douban
就會(huì)自動(dòng)建立一個(gè)工程 然后去根目錄建立一個(gè)run.py 去spiders這個(gè)目錄里建立一個(gè)douban_spiders.py(注意這里的主爬蟲文件和項(xiàng)目名稱不能相同 不然會(huì)報(bào)錯(cuò))
# run.py from scrapy import cmdline cmdline.execute("scrapy crawl douban".split())
# douban_spiders.py #coding:utf-8 import scrapy from douban.items import DoubanItem from scrapy.crawler import CrawlerProcess class doubanSpider(scrapy.Spider): name = "douban" allowed_domains = ["douban.com"] start_urls = ["https://movie.douban.com/top250"] def parse(self, response): item = DoubanItem() item["image_urls"] = response.xpath("http://div[@class="pic"]//img//@src").extract()#提取圖片鏈接 # print "image_urls",item["image_urls"] item["title"] = response.xpath("http://div[@class="hd"]/a/span[1]/text()").extract()#提取電影標(biāo)題 # print "title",item["title"] item["quote"] = response.xpath("http://p[@class="quote"]/span/text()").extract()#提取簡(jiǎn)介 # print "quote",item["quote"] item["level"] = response.xpath("http://em/text()").extract()#提取排名 # print "level",item["level"] yield item new_url= "https://movie.douban.com/top250" + response.xpath("http://span[@class="next"]/link/@href").extract_first()#翻頁(yè) # print "new_url",new_url if new_url: yield scrapy.Request(new_url,callback=self.parse)
# items.py import scrapy class DoubanItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() image_urls = scrapy.Field() title = scrapy.Field() quote = scrapy.Field() level = scrapy.Field()
# pipelines.py import os import urllib from douban import settings class DoubanPipeline(object): def process_item(self, item, spider): i = 0 dir_path = "%s/%s"%(settings.IMAGES_STORE,spider.name)#存儲(chǔ)路徑 print "dir_path",dir_path if not os.path.exists(dir_path): os.makedirs(dir_path) for image_url in item["image_urls"]: file_name = "Top" + item["level"][i] + " " +item["title"][i] + "("+item["quote"][i]+ ").jpg"#圖片名稱 i = i + 1 # print "filename",file_name file_path = "%s/%s"%(dir_path,file_name) # print "file_path",file_path if os.path.exists(file_name): continue with open(file_path,"wb") as file_writer: conn = urllib.urlopen(image_url)#下載圖片 file_writer.write(conn.read()) file_writer.close() return item
# setting.py BOT_NAME = "douban" SPIDER_MODULES = ["douban.spiders"] NEWSPIDER_MODULE = "douban.spiders" ITEM_PIPELINES = { "douban.pipelines.DoubanPipeline": 1, } IMAGES_STORE="E:" DOWNLOAD_DELAY = 0.25 USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5"最終爬取的結(jié)果
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/40688.html
摘要:注意爬豆爬一定要加入選項(xiàng),因?yàn)橹灰馕龅骄W(wǎng)站的有,就會(huì)自動(dòng)進(jìn)行過(guò)濾處理,把處理結(jié)果分配到相應(yīng)的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關(guān)掉這個(gè)選項(xiàng)。 本課只針對(duì)python3環(huán)境下的Scrapy版本(即scrapy1.3+) 選取什么網(wǎng)站來(lái)爬取呢? 對(duì)于歪果人,上手練scrapy爬蟲的網(wǎng)站一般是官方練手網(wǎng)站 http://quotes.toscrape.com 我們中國(guó)人,當(dāng)然...
摘要:本文內(nèi)容爬取豆瓣電影頁(yè)面內(nèi)容,字段包含排名,片名,導(dǎo)演,一句話描述有的為空,評(píng)分,評(píng)價(jià)人數(shù),上映時(shí)間,上映國(guó)家,類別抓取數(shù)據(jù)存儲(chǔ)介紹爬蟲框架教程一入門創(chuàng)建項(xiàng)目創(chuàng)建爬蟲注意,爬蟲名不能和項(xiàng)目名一樣應(yīng)對(duì)反爬策略的配置打開文件,將修改為。 本文內(nèi)容 爬取豆瓣電影Top250頁(yè)面內(nèi)容,字段包含:排名,片名,導(dǎo)演,一句話描述 有的為空,評(píng)分,評(píng)價(jià)人數(shù),上映時(shí)間,上映國(guó)家,類別 抓取數(shù)據(jù)存儲(chǔ) ...
摘要:前言新接觸爬蟲,經(jīng)過(guò)一段時(shí)間的實(shí)踐,寫了幾個(gè)簡(jiǎn)單爬蟲,爬取豆瓣電影的爬蟲例子網(wǎng)上有很多,但都很簡(jiǎn)單,大部分只介紹了請(qǐng)求頁(yè)面和解析部分,對(duì)于新手而言,我希望能夠有一個(gè)比較全面的實(shí)例。 0.前言 新接觸爬蟲,經(jīng)過(guò)一段時(shí)間的實(shí)踐,寫了幾個(gè)簡(jiǎn)單爬蟲,爬取豆瓣電影的爬蟲例子網(wǎng)上有很多,但都很簡(jiǎn)單,大部分只介紹了請(qǐng)求頁(yè)面和解析部分,對(duì)于新手而言,我希望能夠有一個(gè)比較全面的實(shí)例。所以找了很多實(shí)例和文...
摘要:介紹在博客爬蟲爬取豆瓣電影圖片中我們利用的爬蟲框架,將豆瓣電影圖片下載到自己電腦上。那么,在的爬蟲的也可以下載圖片嗎答案當(dāng)然是肯定的在本次分享中,我們將利用的包和函數(shù)來(lái)實(shí)現(xiàn)圖片的下載。 介紹 ??在博客:Scrapy爬蟲(4)爬取豆瓣電影Top250圖片中我們利用Python的爬蟲框架Scrapy,將豆瓣電影Top250圖片下載到自己電腦上。那么,在Java的爬蟲的也可以下載圖片嗎?答...
摘要:本次爬蟲項(xiàng)目將會(huì)用到模塊中的類,多線程豆瓣電影圖片??偨Y(jié)通過(guò)上述兩個(gè)爬蟲程序的對(duì)比,我們不難發(fā)現(xiàn),同樣是下載豆瓣電影,個(gè)網(wǎng)頁(yè)中的圖片,在沒(méi)有使用多線程的情況下,總共耗時(shí)約,而在使用多線程個(gè)線程的情況下,總共耗時(shí)約秒,效率整整提高了約倍。 爬蟲項(xiàng)目介紹 ??本次爬蟲項(xiàng)目將爬取豆瓣Top250電影的圖片,其網(wǎng)址為:https://movie.douban.com/top250, 具體頁(yè)面如...
閱讀 1339·2019-08-30 15:44
閱讀 1391·2019-08-29 18:42
閱讀 446·2019-08-29 13:59
閱讀 782·2019-08-28 17:58
閱讀 2822·2019-08-26 12:02
閱讀 2424·2019-08-23 18:40
閱讀 2413·2019-08-23 18:13
閱讀 3115·2019-08-23 16:27