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

定制网站本地企业wordpress推送失败

定制网站本地企业,wordpress推送失败,免费域名注册官网,线上课程文章目录 1 scrapy简介2 创建项目3 自定义初始化请求url4 定义item5 定义管道 1 scrapy简介 scrapy常用命令 |命令 | 格式 |说明| |–|–|–| |startproject |scrapy startproject 项目名 |创建一个新项目| |genspider| scrapy genspider 爬虫文件名 域名… 文章目录 1 scrapy简介2 创建项目3 自定义初始化请求url4 定义item5 定义管道 1 scrapy简介 scrapy常用命令 |命令 | 格式 |说明| |–|–|–| |startproject |scrapy startproject 项目名 |创建一个新项目| |genspider| scrapy genspider 爬虫文件名 域名 |新建爬虫文件。 |runspider| scrapy runspider 爬虫文件 |运行一个爬虫文件不需要创建项目。 |crawl| scrapy crawl |运行一个爬虫项目必须要创建项目。 |list |scrapy list |列出项目中所有爬虫文件。 |view| scrapy view url地址| 从浏览器中打开 url 地址。 |shell| csrapy shell url地址 |命令行交互模式。 |settings |scrapy settings |查看当前项目的配置信息。项目的目录树结构 Scrapy 五大组件 名称作用说明Engine(引擎)整个 Scrapy 框架的核心主要负责数据和信号在不同模块间传递。Scheduler(调度器)用来维护引擎发送过来的 request 请求队列。Downloader(下载器)接收引擎发送过来的 request 请求并生成请求的响应对象将响应结果返回给引擎。Spider(爬虫程序)处理引擎发送过来的 response 主要用来解析、提取数据和获取需要跟进的二级URL然后将这些数据交回给引擎。Pipeline(项目管道)用实现数据存储对引擎发送过来的数据进一步处理比如存 MySQL 数据库等。 两大中间件下载器中间件位于引擎和下载器之间主要用来包装 request 请求头比如 UersAgent、Cookies 和代理 IP 等蜘蛛中间件位于引擎与爬虫文件之间它主要用来修改响应对象的属性。工作流程图 2 创建项目 # 创建项目 scrapy startproject Medical # 进入项目 cd Medical # 创建爬虫文件 scrapy genspider medical www.baidu.com3 自定义初始化请求url import scrapy import json from scrapy.http import Response from Medical.items import MedicalItem from tqdm import tqdm 具体的爬虫程序 class MedicalSpider(scrapy.Spider):name medicalallowed_domains [beian.cfdi.org.cn]# start_urls [https://beian.cfdi.org.cn/CTMDS/pub/PUB010100.do?methodhandle05_dt20231101162330]# 重写第一次请求处理函数def start_requests(self):start_url https://www.baidu.com/CTMDS/pub/PUB010100.do?methodhandle05_dt20231101162330# 发送post请求data {pageSize: 1353,curPage: 1,}yield scrapy.FormRequest(urlstart_url, formdatadata, callbackself.parse)def parse(self, response):# 转换为jsonjsonRes json.loads(response.body)# 查看响应状态码status jsonRes[success]# 如果状态为Trueif status:# 获取数据dataList jsonRes[data]# 调用详细方法发起请求循环发起for row in tqdm(dataList,desc爬取进度):# 请求详情页urlurlDetail fhttps://www.baidu.com/CTMDS/pub/PUB010100.do?methodhandle04compId{row[companyId]}# 发起请求yield scrapy.Request(urlurlDetail, callbackself.parseDetail, meta{row: row})def parseDetail(self, response: Response):# new 一个MedicalItem实例item MedicalItem()# 获取上次请求的数据源row response.meta[row]item[companyId] row[companyId]item[linkTel] row[linkTel]item[recordNo] row[recordNo]item[areaName] row[areaName]item[linkMan] row[linkMan]item[address] row[address]item[compName] row[compName]item[recordStatus] row[recordStatus]item[cancelRecordTime] row.get(cancelRecordTime, )# 获取备案信息divTextList response.xpath(//div[classcol-md-8 textlabel]/text()).extract()# 去空白divtextList [text.strip() for text in divTextList]compLevel if len(divtextList) 2:compLevel divtextList[2]recordTime if len(divtextList) 5:recordTime divtextList[6]item[compLevel] compLevelitem[recordTime] recordTime# 获取其他机构地址divListOther response.xpath(//div[classcol-sm-8 textlabel]/text()).extract()# 去空白divtextListOther [text.strip() for text in divListOther]otherOrgAdd ,.join(divtextListOther)item[otherOrgAdd] otherOrgAdd# 获取备案专业和主要研究者信息trList response.xpath(//table[classtable table-striped]/tbody/tr)tdTextList [tr.xpath(./td/text()).extract() for tr in trList]item[tdTextList] tdTextList# 返回itemyield item4 定义item # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.html import scrapyclass MedicalItem(scrapy.Item):# define the fields for your item here like:# 省份/地区areaName scrapy.Field()# 公司idcompanyId scrapy.Field()# 公司名称compName scrapy.Field()# 公司等级compLevel scrapy.Field()# 联系人linkMan scrapy.Field()# 联系电话linkTel scrapy.Field()# 备案号recordNo scrapy.Field()# 地址address scrapy.Field()# 备案状态recordStatus scrapy.Field()# 取消备案时间cancelRecordTime scrapy.Field()# 备案时间recordTime scrapy.Field()# 其他机构地址otherOrgAdd scrapy.Field()# 子表详情(矩阵)tdTextList scrapy.Field()5 定义管道 # Define your item pipelines here # # Dont forget to add your pipeline to the ITEM_PIPELINES setting # See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html# useful for handling different item types with a single interface from itemadapter import ItemAdapter import pymysqlfrom Medical.items import MedicalItemclass MedicalPipeline:# 开始def open_spider(self, spider):# 初始化数据库self.db pymysql.connect(hostlocalhost,port3306,userroot,passwordlogicfeng,databasetest2)# 创建游标对象self.cursor self.db.cursor()def process_item(self, item, spider):companyId item[companyId]linkTel item[linkTel]recordNo item[recordNo]areaName item[areaName]linkMan item[linkMan]address item[address]compName item[compName]recordStatus item[recordStatus]cancelRecordTime item.get(cancelRecordTime, )compLevel item.get(compLevel, )recordTime item.get(recordTime, )otherOrgAdd item.get(otherOrgAdd, )tdTextList item[tdTextList]sql1 insert INTO medical_register(company_id,area_name,record_no,comp_name,address,link_man,link_tel,record_status,comp_level,record_time,cancel_record_time,other_org_add) sql2 fvalues({companyId},{areaName},{recordNo},{compName},{address},{linkMan},{linkTel},{recordStatus},{compLevel},{recordTime},{cancelRecordTime},{otherOrgAdd})sql3 sql1 sql2# 执行sqlself.cursor.execute(sql3)# 提交self.db.commit()for tdText in tdTextList:tdText.insert(0,companyId)# 插入数据库sql4 insert into medical_register_sub (company_id,professional_name,principal_investigator,job_title) values(%s,%s,%s,%s)self.cursor.execute(sql4, tdText)# 提交到数据库self.db.commit()return itemdef close_spider(self, spider):self.cursor.close()self.db.close()print(关闭数据库)
http://www.dnsts.com.cn/news/26485.html

相关文章:

  • 手机网站建设 移商动力天津seo关键词排名优化
  • 设计网络网站建设怎样防止网站被黑
  • 设计企业网站流程网站信管局备案
  • 珠海网站建设尚古道策略wordpress保存的字体大小
  • wordpress后台所有栏目都404搜索引擎优化实训报告
  • 手机网站开发升上去网站关键词如何做优化
  • 夜间正能量不良网站入口不用下载潍坊优化网站排名
  • 沈阳网站建设哪家便宜代理网站建设
  • 网站开发完后期维护重要吗做胎儿羊水鉴定网站
  • 南乐网站建设费用win7 iis新建网站
  • 网站模板分什么类型深圳网站建设公司怎么样
  • 从零开始学做网站tp框架做的图片网站
  • 多点网络网站制作系统太原seo
  • 为网站网站做推广wordpress回复邮件
  • 胶州城乡建设局网站wordpress用户功能扩展
  • 网站背景图片自动切换怎么用凡科做网站
  • 前端和网站建设的区别中国建设投资集团 网站首页
  • 服务器网站模板wordpress视频类主题
  • 苏州哪个公司做门户网站wordpress 帕兰映像 安装教程 wordpress
  • 网站建设需要提供什么东西青岛网络seo公司
  • 天津品牌网站建设公司公司网站建设的好处
  • 微网站开发+在线商城怎么做网站底部版权信息
  • 自己做的图片哪个网站可以出售wordpress+主题+恢复
  • 河源市住房城乡和建设局网站苏州做网站设计
  • 食品网站开发营销方式有哪几种
  • 科普网站栏目建设方案策划网站建设 在线购买
  • 福州长乐网站建设上海网站备案人工服务器
  • jsp网站维护wordpress heroku
  • 全网营销建设网站全国建筑资质查询服务平台
  • 个旧网站建设跑胡子网站开发