摘要:這次我們爬取的內容準備步驟找到格式網頁中需要爬取的數據的例如我們需要爬取圖片的這里用的是不會用的同學請百度然后我們開始建立工程打開然后在你想要建立工程的目錄下面輸入就會自動建立一個工程然后去根目錄建立一個去這個目錄里建立一個注意這里的主爬蟲
這次我們爬取的內容 準備步驟
找到html格式網頁中需要爬取的數據的xpath
例如我們需要爬取圖片的url
這里用的是xPath Checker不會用的同學請百度
2.然后我們開始建立工程 打開cmd 然后在你想要建立工程的目錄下面 輸入 scrapy startproject douban
就會自動建立一個工程 然后去根目錄建立一個run.py 去spiders這個目錄里建立一個douban_spiders.py(注意這里的主爬蟲文件和項目名稱不能相同 不然會報錯)
# 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()#提取電影標題 # print "title",item["title"] item["quote"] = response.xpath("http://p[@class="quote"]/span/text()").extract()#提取簡介 # 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()#翻頁 # 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)#存儲路徑 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"最終爬取的結果
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40688.html
摘要:注意爬豆爬一定要加入選項,因為只要解析到網站的有,就會自動進行過濾處理,把處理結果分配到相應的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關掉這個選項。 本課只針對python3環境下的Scrapy版本(即scrapy1.3+) 選取什么網站來爬取呢? 對于歪果人,上手練scrapy爬蟲的網站一般是官方練手網站 http://quotes.toscrape.com 我們中國人,當然...
摘要:本文內容爬取豆瓣電影頁面內容,字段包含排名,片名,導演,一句話描述有的為空,評分,評價人數,上映時間,上映國家,類別抓取數據存儲介紹爬蟲框架教程一入門創建項目創建爬蟲注意,爬蟲名不能和項目名一樣應對反爬策略的配置打開文件,將修改為。 本文內容 爬取豆瓣電影Top250頁面內容,字段包含:排名,片名,導演,一句話描述 有的為空,評分,評價人數,上映時間,上映國家,類別 抓取數據存儲 ...
摘要:前言新接觸爬蟲,經過一段時間的實踐,寫了幾個簡單爬蟲,爬取豆瓣電影的爬蟲例子網上有很多,但都很簡單,大部分只介紹了請求頁面和解析部分,對于新手而言,我希望能夠有一個比較全面的實例。 0.前言 新接觸爬蟲,經過一段時間的實踐,寫了幾個簡單爬蟲,爬取豆瓣電影的爬蟲例子網上有很多,但都很簡單,大部分只介紹了請求頁面和解析部分,對于新手而言,我希望能夠有一個比較全面的實例。所以找了很多實例和文...
摘要:介紹在博客爬蟲爬取豆瓣電影圖片中我們利用的爬蟲框架,將豆瓣電影圖片下載到自己電腦上。那么,在的爬蟲的也可以下載圖片嗎答案當然是肯定的在本次分享中,我們將利用的包和函數來實現圖片的下載。 介紹 ??在博客:Scrapy爬蟲(4)爬取豆瓣電影Top250圖片中我們利用Python的爬蟲框架Scrapy,將豆瓣電影Top250圖片下載到自己電腦上。那么,在Java的爬蟲的也可以下載圖片嗎?答...
摘要:本次爬蟲項目將會用到模塊中的類,多線程豆瓣電影圖片。總結通過上述兩個爬蟲程序的對比,我們不難發現,同樣是下載豆瓣電影,個網頁中的圖片,在沒有使用多線程的情況下,總共耗時約,而在使用多線程個線程的情況下,總共耗時約秒,效率整整提高了約倍。 爬蟲項目介紹 ??本次爬蟲項目將爬取豆瓣Top250電影的圖片,其網址為:https://movie.douban.com/top250, 具體頁面如...
閱讀 1331·2019-08-30 15:44
閱讀 1381·2019-08-29 18:42
閱讀 433·2019-08-29 13:59
閱讀 770·2019-08-28 17:58
閱讀 2811·2019-08-26 12:02
閱讀 2414·2019-08-23 18:40
閱讀 2406·2019-08-23 18:13
閱讀 3106·2019-08-23 16:27