Python使用mongodb保存爬取豆瓣电影的数据过程解析

  

<>强创建爬虫项目豆瓣

        scrapy startproject豆瓣      

<强>设置items.py文件,存储要保存的数据类型和字段名称

        # - * -编码:utf - 8 - *   进口scrapy   类DoubanItem (scrapy.Item):   title=scrapy.Field ()   #内容   内容=scrapy.Field ()   #评分   rating_num=scrapy.Field ()   #简介   之前报价=scrapy.Field ()      

<强>设置爬虫文件doubanmovies.py

        # - * -编码:utf - 8 - *   进口scrapy   来自豆瓣。项目导入DoubanItem   类DoubanmoviesSpider (scrapy.Spider):   name=' doubanmovies '   allowed_domains=(“movie.douban.com”)   抵消=0   url=' https://movie.douban.com/top250& # 63;开始='   start_urls=[url + str(抵消)]   def解析(自我,反应):   #打印(‘*’* 60)   #打印(response.url)   #打印(‘*’* 60)   项=DoubanItem ()   信息=response.xpath ("//div [@class='信息']”)   为每一个信息:   项目(“标题”)=each.xpath(”。//跨度[@class='标题'][1]/text ()”) .extract ()   项目(“内容”)=each.xpath (”。//div [@class=' bd ']/p [1]/text ()”) .extract ()   项目(“rating_num”)=each.xpath(”。//跨度[@class=' rating_num ']/text ()”) .extract ()   每个.xpath项[' "]=(”。//跨度[@class=' inq ']/text ()”) .extract ()   收益项   #打印(项)   自我。抵消+=25   如果自我。抵消& lt;=250:   收益scrapy.Request(自我。url + str (self.offset),回调=self.parse)      

<强>设置管道文件,使用mongodb数据库来保存爬取的数据。重点部分

        # - * -编码:utf - 8 - *   从scrapy。配置导入设置   进口pymongo   类DoubanPipeline(对象):   def __init__(自我):   自我。主机=设置(“MONGODB_HOST”)   自我。端口=设置(“MONGODB_PORT”)   def process_item(自我,物品,蜘蛛):   #创建mongodb客户端连接对象,该例从settings.py文件里面获取mongodb所在的主机和端口参数,可直接书写主机和端口   自我。客户=pymongo.MongoClient (self.host self.port)   #创建数据库豆瓣   自我。mydb=self.client(“豆瓣”)   #在数据库豆瓣里面创建表doubanmovies   #把类似字典的数据转换为phthon字典格式   内容=dict(项)   #把数据添加到表里面   self.mysheetname.insert(内容)   返回项目      

<强>设置settings.py文件

        # - * -编码:utf - 8 - *   BOT_NAME=岸拱辍?   SPIDER_MODULES=(“douban.spiders”)   NEWSPIDER_MODULE=' douban.spiders '   USER_AGENT=' Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;三叉戟/5.0;   #配置一个延迟请求相同的网站(默认值:0)   #见https://doc.scrapy.org/en/latest/topics/settings.html # download-delay   #参见自动油门设置和文档   DOWNLOAD_DELAY=3   #下载延迟设置将荣誉>   scrapy爬豆瓣      

这博客园的代码片段缩进,难道要用4个空格才可以搞的定吗?我发现只能使用4个空格才能解决如上图的代码块的缩进

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Python使用mongodb保存爬取豆瓣电影的数据过程解析