当前位置: 首页 > wzjs >正文

网站文章正文可以做内链吗谷歌网页

网站文章正文可以做内链吗,谷歌网页,互联网网站如何做,做网站是做广告吗一、Item封装数据 对于有字段的数据,最好的数据结构维护方法为字典类型(dict),但是由于字典不便于携带元数据和传递给其他组件使用,故可以使用Item类封装爬取到的数据。 这里涉及两个类:Item基类和Field类 两者的使用关系如下&…

一、Item封装数据

对于有字段的数据,最好的数据结构维护方法为字典类型(dict),但是由于字典不便于携带元数据和传递给其他组件使用,故可以使用Item类封装爬取到的数据。

这里涉及两个类:Item基类和Field类

两者的使用关系如下:首先创建一个自定义的Item类,命名为BestItem()该类继承于Item类,然后使用Field()来对各字段进行创建对象,即cost=Field()

即总的使用格式为:

From scrapy import Item,FieldClass BestItem():Cost=Field()Information=Field()

然后将创建好的BestItem导入创建爬虫类的文件中进行使用,并对其进行专门的解析和提取。类和类之间可以互相进行继承,实现功能字段的拓展:class VeryBestItem(BestItem)

二、Item Pipeline处理数据

一个Item Pipeline只负责一种功能的数据处理,但是可以使用多个,实现对多个功能的处理。类似流水线处理一样。如果在某一个Item Pipeline处理时抛出异常,那么这个数据将不再传递给后面的Item Pipeline进行处理,也不会导出到文件中,而是直接被抛弃。

Item Pipeline处理的场景为:清洗数据、验证数据的有效性、数据去重、将数据写入特定的文件或数据库、数据增强、数据聚合、数据脱敏/加密、数据单位换算、依赖外部API补充数据和错误恢复和机器学习模型等。

对该方法的使用很简单:只需要专注于实现某一功能,而不需要在意是否需要继承特定基类。

其在实际应用中必须实现的方法:
①open_spider(self,spider)用于在开始处理数据之前完成某些初始化的工作,比如连接数据库

②close_spider(self,spider)用于在处理完所有数据之后完成某些清理工作,比如关闭数据库连接。

③from_crawler(cls,crawler)用于根据crawler.settings读取配置创建Item Pipeline对象。

④process_item(self ,item,spider)用于对数据进行处理。

如何想使用Item Pipeline这个组件(可选),需要在配置文件settings.py中进行配置。其配置为:ITEM_PIPELINES={“每一个Item Pipeline类的导入路径,值为0~1000的数字,该数字的大小决定了Item Pipeline处理数据的先后次序,数字小的在前”}

重点:将爬取的数据可以直接存入数据库MongoDB,使用Item Pipeline就可以完成这个任务。在使用MongoDB时,需要导入import pymongo

整体实现流程:

From scrapy.item import Item
Import pymongo
Class MongoDBpipeline(object):db_url=”mongodb://localhost:8888/” //数据库的url地址db_name=”data_db”//数据库名Def  open_spider(self,spider)://连接数据库Self.client=pymongo.MongoClient(self.db_url)Self.db=self.client[self.db_name]Def  close_spider(self,spider)://关闭数据库连接Self.client.close()Def  process_item(self,item,spider)://进行数据处理Collection=self.db[spider.name]Post=dict(item) if isinstance(item,Item) else itemCollection.insert_one(post)//insert_one传入的必须为一个字典对象,不能是Item对象,故在此之前对其进行类型判断Return item
------------------------------------------------------------------
更改配置文件settings.py:ITEM_PIPELINES={“MongoDBPipeline的路径”:300
}
MongoDB_url=”mongodb://localhost:8888/”
Mongo_DB_name=”data_db”
--------------------------------------------------------------
更改另外一个配置文件crawler.settings:
Def  from_crawler(cls,crawler):Cls.db_url=crawler.settings.get(“MongoDB_url”,”mongodb://localhost:8888/”)Cls.db_name=crawler.settings.get(“Mongo_DB_name”,”data_db”)Return cls()

http://www.dtcms.com/wzjs/483669.html

相关文章:

  • 做网站 二维码登录视频营销的策略与方法
  • 怎么推广自己的qq群长沙seo关键词
  • 资阳的网站建设百度seo公司电话
  • 电商网站建设实训总结与体会员工培训内容
  • 微信网站合同全国疫情防控最新数据
  • 网站建设教程出售用苏州久远网络网络营销的类型有哪些
  • 做网站为什么要用php好视通视频会议app下载安装
  • 做个淘宝客网站怎么做的315影视行业
  • seo网站排名厂商定制凡科建站下载
  • 淘宝网站的建设目的是什么意思2345网址导航设为主页
  • 网站建设销售职责seo快速排名系统
  • 万网做网站吗百度公司介绍
  • 网站日志分析教程网络营销推广有哪些方法
  • 做淘宝详情页的网站武汉网络seo公司
  • 网站关键词排名优化技巧石家庄seo顾问
  • 网站建设结单 优帮云seo怎么做推广
  • 苏州模板建站哪家好百度学术论文查重官网入口
  • 长春火车站有几个一级造价工程师
  • 网站安装教程线上宣传有哪些好的方式方法
  • 网站的面包屑怎么做的外链发布论坛
  • 自助建个人网站哪个好绍兴seo管理
  • 网站被收录品牌营销是什么
  • 庆阳网站建设与制作sem优化推广
  • 做网站和推广找哪家好如何自建网站?
  • 装饰派单哪个网站靠谱seo sem优化
  • 网站建设长沙山西seo顾问
  • 东莞推广系统怎么做360优化大师
  • 做网站备案什么意思德兴网站seo
  • 专门做水生植物销售网站代运营公司可靠吗
  • 网站开发从整体上武汉seo优化排名公司