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

哪些网站做的比较好看aws云服务器

哪些网站做的比较好看,aws云服务器,wordpress邀请会员,班级app网站建设tip: 超链接对应的文案通常被称为“锚文本”#xff08;anchor text#xff09; 在继承CrawlSpider父类的前提下#xff0c;编写一个 fetch_referer 方法获取当前response.url的父链接和锚文本。 实现逻辑#xff0c;通过一个例子简要说明#xff1a; 如果设置 start_…tip: 超链接对应的文案通常被称为“锚文本”anchor text 在继承CrawlSpider父类的前提下编写一个 fetch_referer 方法获取当前response.url的父链接和锚文本。  实现逻辑通过一个例子简要说明 如果设置 start_urlwww.baidu.com, Rule(LinkExtractor())匹配链接的规则是任何链接。 那么第一个为 response.urlwww.baidu.com假设 www.baidu.com 的response的页面源码存在链接 www.ibaidu.com, www.etbaidu.com那么此时 refere_extract_link {www.baidu.com: [www.ibaidu.com,www.etbaidu.com]}进入for循环判断因为 response.urlwww.baidu.com不匹配list的links [www.ibaidu.com,www.etbaidu.com] 的任何一个所以链接 www.baidu.com 的父链接 referer_url 和 锚文本 referer_url_text 都为None。scrapy CrawlSpider会将links的链接继续提交给下载器访问response.url 重新被赋值为 response.url www.ibaidu.com假设 www.ibaidu.com 的response的页面源码存在链接 www.ibaidu_child.com,www.ibaidu_second.com那么此时 refere_extract_link {www.baidu.com: [www.ibaidu.com,www.etbaidu.com], www.ibaidu.com: [www.ibaidu_child.com,www.ibaidu_second.com]}进入for循环判断因为 response.urlwww.ibaidu.com 匹配list的links [www.ibaidu.com,www.etbaidu.com] 的www.ibaidu.com而该list的key是 www.baidu.com所以链接 www.ibaidu.com 的父链接 referer_url “www.baidu.com”, 锚文本referer_url_text 百度一下你就知道。 其它链接重复步骤3最后把所有链接的父链接和锚文本存储到itme里面。 完整代码 from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from developer_docs_scrapy.items import DeveloperDocsScrapyItem from helpers.operate_redis import operate_redis# 从redis获取配置 env_config operate_redis().env_redis_config() print(env_config)class DeveloperDocsSpider(CrawlSpider):name env_config[spider_name] # developer-docsallowed_domains [env_config[spider_allowed_domains]] # [org.com]start_urls [env_config[spider_start_urls]] # [https://developer.org.com/docs-service/]# allow: 满足括号中的re表达式的url会被提取如果为空则全部匹配# deny: 满足括号中的re表达式的url不会被提取优先级高于allow# deny要放在同一个linkextrator里面不然其它link规则会爬取deny的链接# 为了过滤非文档中心的链接如网页存在大量的org.com域名的新闻页面所以设置爬取规则# 允许爬取URL包含初始URL的链接如https://developer.org.com/docs-service/search-result/?keywordAPI 包含 https://developer.org.com/docs-service/rules [Rule(LinkExtractor(allow(start_urls), deny()), process_linksdeal_links, callbackparse_item, followTrue),# Rule(LinkExtractor(denyrknowledge)) ]# 从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤。或者对获取的url进行修改后再进行请求下载def deal_links(self, links):print(deal_links)for link in links:print(link, link.url, link.text)# 修改link的url# link.url link.url.resplace(,).replace(,)return linksrefere_extract_link {}def parse_item(self, response):item DeveloperDocsScrapyItem()item[url] response.url# 从redis读取需要匹配元素xpath路径# redis读取的是str的列表用eval转成list类型title_xpaths eval(env_config[title_xpaths])for xpath in title_xpaths:# 获取链接访问后的response获取的xpath内容selected_titles response.xpath(xpath).extract()# 如果不为空则存储改内容且退出当前for循环不执行else内容if selected_titles:item[title] selected_titles[0]break# 如果for循环所有list后selected_titles都为空则执行elseelse:item[title] Nonereferer_url, referer_url_text self.fetch_referer(responseresponse)item[referer_url] referer_urlitem[referer_url_text] referer_url_textyield itemdef fetch_referer(self,response):获取跳转到 response.url 的父链接 referer_url 和 父链接的文案 referer_url_text# 获取url访问后的response里面的链接从源码中摘取部分seen set()for rule_index, rule in enumerate(self._rules):links [# 提取 response.url的页面的 链接【链接文案】存储在listlnk.url 【 lnk.text 】 for lnk in rule.link_extractor.extract_links(response) if lnk not in seen]# print(response.url, links)# 把每一个链接访问后的页面获取到的链接组成 key: list 存储到 refere_extract_linkself.refere_extract_link.update({response.url: links})# print(self.refere_extract_link)# 判断每一个response.url是否在refere_extract_link字典的所有links中如果是表示是从链接key访问的页面获取的key是父链接for key,value in self.refere_extract_link.items():for v in value:extract_url v[0:v.find(【)]extract_url_text v[v.find(【)1: v.find(】)]if response.url extract_url:referer_url keyreferer_url_text extract_url_textreturn referer_url, referer_url_textelse:# 如果refere_extract_link字典的所有links都没有满足条件return就会执行elsereturn None, None当迭代对象完成所有迭代后且此时的迭代对象为空时如果存在else子句则执行else子句没有则继续执行后续代码 如果迭代对象因为某种原因如带有break关键字提前退出迭代则else子句不会被执行程序将会直接跳过else子句继续执行后续代码备注逻辑想法记录方便以后可以直接复用
http://www.zqtcl.cn/news/653056/

相关文章:

  • 做电商网站的公司简介网站制作多久
  • 营销手段有哪些方式合肥网站优化服务网
  • 网站备案和域名备案山东临沂市建筑模板生产厂家
  • 三类安全员证查询系统网站建设优化服务机构
  • 网站关键词排名没有了城固县网站建设
  • 什么网站需要备案易语言用电脑做网站服务器
  • 可以做婚礼鲜花布置的网站洛阳霞光企业网站建设公司
  • 临淄网站制作同步显示一个wordpress
  • 先建设网站后付款网站相对路径和绝对路径
  • 临沂外贸国际网站建设网站开发外包公司合同
  • 网站设置快捷方式温州网站建设方案报价
  • 经营网站需要什么费用如何鉴赏网站论文
  • 聊城网站推广公司网站 防攻击
  • 小米盒子做网站一个县城广告公司利润
  • 天津市区县档案部门网站建设指导意见网站开发的需求分析教学视频
  • 网站服务合同范本企业网站建设费是无形资产吗
  • 国外做家纺的网站试用体验网站
  • 百度网站下载安装免费制作短视频的软件
  • 山西省这房和城乡建设厅网站邯郸北京网站建设
  • 廊坊网站seo服务主机服务器网站 怎么做
  • 网站的建设与运维东营会计信息网
  • 郑州网站建设程序3g手机网站
  • 建设监理网站设计了网站首页
  • 织梦教育网站开发商务网站建设实训总结
  • 广西执业药师培训网站网站设计 原型图
  • 网站建设客户群体分析微信开放平台小程序开发文档
  • led网站建设wordpress .htaccess 固定链接
  • 学校网站建设申请报告一个好网站设计
  • 网站雪花特效wordpress文件解析
  • 招聘网站哪个好用淮北之窗