摘要:这次我们爬取的内容准备步骤找到格式网页中需要爬取的数据的例如我们需要爬取图片的这里用的是不会用的同学请百度然后我们开始建立工程打开然后在你想要建立工程的目录下面输入就会自动建立一个工程然后去根目录建立一个去这个目录里建立一个注意这里的主爬虫
这次我们爬取的内容 准备步骤
找到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("//div[@class="pic"]//img//@src").extract()#提取图片链接 # print "image_urls",item["image_urls"] item["title"] = response.xpath("//div[@class="hd"]/a/span[1]/text()").extract()#提取电影标题 # print "title",item["title"] item["quote"] = response.xpath("//p[@class="quote"]/span/text()").extract()#提取简介 # print "quote",item["quote"] item["level"] = response.xpath("//em/text()").extract()#提取排名 # print "level",item["level"] yield item new_url= "https://movie.douban.com/top250" + response.xpath("//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"最终爬取的结果
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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, 具体页面如...
阅读 1309·2019-08-30 15:44
阅读 1361·2019-08-29 18:42
阅读 414·2019-08-29 13:59
阅读 739·2019-08-28 17:58
阅读 2760·2019-08-26 12:02
阅读 2391·2019-08-23 18:40
阅读 2383·2019-08-23 18:13
阅读 3047·2019-08-23 16:27