成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

scrapy爬取豆瓣Top250電影

codergarden / 655人閱讀

摘要:這次我們爬取的內(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

相關(guān)文章

  • scrapy入門教程——爬取豆瓣電影Top250!

    摘要:注意爬豆爬一定要加入選項(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)然...

    senntyou 評(píng)論0 收藏0
  • scrapy入門:豆瓣電影top250爬取

    摘要:本文內(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ǔ) ...

    xialong 評(píng)論0 收藏0
  • Python爬蟲 - scrapy - 爬取豆瓣電影TOP250

    摘要:前言新接觸爬蟲,經(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í)例和文...

    WalkerXu 評(píng)論0 收藏0
  • Java爬蟲之下載IMDB中Top250電影的圖片

    摘要:介紹在博客爬蟲爬取豆瓣電影圖片中我們利用的爬蟲框架,將豆瓣電影圖片下載到自己電腦上。那么,在的爬蟲的也可以下載圖片嗎答案當(dāng)然是肯定的在本次分享中,我們將利用的包和函數(shù)來(lái)實(shí)現(xiàn)圖片的下載。 介紹 ??在博客:Scrapy爬蟲(4)爬取豆瓣電影Top250圖片中我們利用Python的爬蟲框架Scrapy,將豆瓣電影Top250圖片下載到自己電腦上。那么,在Java的爬蟲的也可以下載圖片嗎?答...

    tianren124 評(píng)論0 收藏0
  • Python爬蟲之多線程下載豆瓣Top250電影圖片

    摘要:本次爬蟲項(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è)面如...

    shiyang6017 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<