官方数据:百度飓风算法3.0算法官方解读

优采云 发布时间: 2022-11-13 03:28

  官方数据:百度飓风算法3.0算法官方解读

  前段时间百度推出飓风算法3.0,称主要针对站群和采集站问题,但并未具体透露会针对哪些内容,很多站长也没有透露知道如何处理网站进行整改,为了帮助站长更好地理解飓风算法3.0的内容,百度官方近日发布了飓风算法3.0的详细解读,供大家参考。

  以下为百度对飓风算法3.0的详细解答全文:

  Q1:同一品牌下,分行的网站/smart小程序都使用同一个模板。他们会被判定为 站群 并被飓风算法 3.0 击中吗?

  A1:对于站群问题,算法会根据页面布局的相似度、同一主题下站点/智能小程序的数量、内容质量、内容稀缺度等多种因素综合判断, 内容相似度等

  

  如果同一品牌下的网站/smart小程序使用相同的页面布局且内容相似度高,这种情况也可能被判断为站群,存在被击中的风险由算法。

  问题举例:某品牌下多个区域分公司的智能小程序使用相同的模板,内容质量低,相似度高。

  Q2:本次Hurricane算法升级主要针对跨域采集,那么同域的采集会被算法覆盖吗?

  A2:飓风算法3.0的主要升级点是加强了跨域采集和站群问题的覆盖,但是之前的飓风算法对坏采集的控制还是有效的。百度搜索算法一直在持续运行,以控制损害用户体验的违规行为,不会因算法升级或新增而停止旧算法。

  Q3:如果站点/智能小程序中有用于跨域采集的内容,为了避免被算法命中,是否需要删除之前的跨域内容?

  A3:是的,如果站点/智能小程序发布了与网站/智能小程序所属领域无关的内容,建议您尽快删除跨领域内容,深挖进入当前领域,生产满足用户需求,提升网站/智能小程序的领域焦点。

  

  Q4:如果在一个站点下设置不同主题的频道或目录,发布不同领域的内容,会不会被算法击中?

  A4:同一个站点下可以存在不同主题的频道或目录,但每个频道的内容要与网站的领域定位相关,并专注于该领域,频道内容应该是满足用户需求的优质内容。搜索用户。

  Q5:如果你在同一个主题下开发不同的智能小程序,发布不同领域的内容,你会被算法击中吗?

  A5:同一个主体下可以有不同主题的智能小程序,但每个智能小程序都应该有专业的资源、优质的内容、完整的功能。不应有站群行为,内容应集中在智能小程序所属领域。

  从百度这次给出的飓​​风算法3.0的详细回答来看,雷哥认为飓风3.0更针对,百度小程序和网站文章来判断,对百度小程序我特别关注关于内容,和领域提出了很多要求。所以,雷哥还是提醒各位站长,如果遇到以上问题网站,还是要尽快做出调整,尽快完成改造,避免被中招!

  解决方案:开源数据国外篇

  俗话说:将军无兵难打仗,聪明女人无饭难做饭。也就是说,如果你有专业的技能和素养,但没有相应的资源供你调度,那也是技能空虚,难倒英雄。

  对于数据分析,尤其是入门阶段,如果没有相应的数据进行实践,最终会停留在纸面上,无法知晓代码背后的秘密。模拟真实的数据分析场景很关键,但数据从何而来?

  作为一名程序员,开源是有进步的。开源数据库也是如此。以下是一些开放的数据集供您选择:

  国外开源数据

  awesome-public-datasets(),GitHub 上的开源数据仓库,涵盖农业、生物学、气候、计算机网络、数据科学、地球科学、经济学、教育、能源、金融、地图、图像处理、机器学习等领域、自然语言、神经科学、物理学、心理学、社会科学……

  亚马逊的跨学科数据平台(),其中收录化学、生物学、经济学、天文学等各个领域的数据集。也是一个公开的数据集,涉及的领域较少,但很权威。但是,您需要在下载前注册。

  开源数据国内文章

  国家数据库()的信息内容全面详尽,实用性强;其数据范围与国民生活息息相关,具有较高的权威性。基本上只要和国情有关的信息都会在里面放出来,比如区域房价、产业、能源、居民消费总额、房地产投资甚至食品平均价格。

  国家统计局( )的信息通常以统计后的宏观信息为基础,按照行业类别、年份、地区等指标进行分类,方便大家查阅、引用和做进一步分析.

  国家统计局官网底部保留了各地、其他国家和国际组织的官方链接。感兴趣的朋友也可以去这里淘金。

  目标数据 网站采集

  但对于更一般的场景,有的朋友希望能够采集收到更专业的信息。比如要研究股票信息,需要去股票网站采集成交、价格等数据;想研究房产资讯,可以去链家,优采云等网站采集买卖详情;如果想研究社会舆论,可以去新闻门户网站采集新闻资讯。

  如果数据量太大怎么办?Portal网站 不提供下载链接。对于已经学过Python的朋友来说,没有技术解决不了的问题。如果有,那就是技术还需要实践。

  在这里,我们提供两种解决方案:

  优采云()是一个免费的数据采集工具,没有功能限制,几乎所有的网站都可以采集,最大的特点就是简单方便,免费采集 上万条数据无压力。当然,如果您需要更大批量的数据和更高的效率采集,则需要选择付费增值服务。

  如果以上方法都不能解决问题,那我们只能求助于我们的终极武器——编写爬虫程序。

  优采云也是一个可轻度定制的爬虫程序,但为了适应更广泛的应用需求,其智能性和采集效率都不高,无法完成一些深度定制。处理简单的任务没关系,但处理稍微复杂的任务,要么付钱,要么停下来。

  其实爬虫并没有那么神秘。简单来说,爬虫是一个轻量级的程序,可以在目标网站上重复执行数据采集。比如我想采集北京的热门电影排行榜,我们打开豆瓣北京首页(),可以看到如下:

  我想开发一个程序,可以一键采集这个页面上的信息,包括电影名称、电影评分和电影图片的链接。

  在正式开始我们的爬虫之前,我们先讨论一个问题,什么是浏览器?官方定义是用于检索和显示网络信息资源的应用程序。当我们浏览豆瓣-北京主页时,豆瓣服务器根据已建立的数据传输链路,将电影信息传输到我们的本地计算机。浏览器在本地获取到这些信息后,通过一定的规则,或者重新排列或者解码,最终解析成我们看到的(见上图)。

  爬行动物呢?爬虫是自动去网页采集我们需要的信息?这种说法是不准确的。爬虫是我们使用 Python 构建的 Web 应用程序服务。它伪装成浏览器,向目标服务器发送请求,并与之建立数据传输链路。但与普通浏览器不同的是,爬虫只会解析网站中我们关心的信息,保存(或直接打印),其余的丢弃。

  所以从这个角度来看,一个简单的爬虫可以分为三个关键步骤:1)伪装成浏览器从目标服务器获取想要的数据;2)建立解析规则,从上一步得到的数据中解析出感兴趣的信息;3) 打印或保存。

  伪装成浏览器,从目标服务器获取想要的数据

  在此之前,我们先来看看我们经常浏览的网页的真面目。这里我以Chrome为例进行演示。

  点击Chrome的折叠菜单,继续选择更多工具>开发者工具,在弹出的隐藏页面中选择元素菜单,如下图:

  因此,我们第一步的目标是通过Python构建一个简单的应用程序,并成功爬取网页的页面内容。这里有一个叫requests的工具,它可以模仿浏览器通过简单的命令向服务器发送get请求,并反馈服务器返回的数据。requests 可以通过 pip 工具快速安装:

  C:\Users\Administrator>pip install requests

  安装完成后,我们做一个简单的测试,在 Notebook 中输入:

  # 导包

import requests

# url为目标网址

url = "https://movie.douban.com/cinema/nowplaying/beijing/"

# 通过requests库,发起一个url请求。把目标服务器的返回值赋值给response

response = requests.get(url)

# text为response的属性,表示返回值的正文内容

print(response.text)

  Out:(仅显示部分关键信息,供参考)

……

……

……

……

  从以上请求的内容可以看到电影名称:最后一刻,主演:唐国强/刘瑾/黄景瑜,导演:黄建新宁海强等信息。

  至此,第一步中最关键的一步基本完成,但还需要做一些简单的打包。

  我们都知道,如果网页打不开,我们经常会看到浏览器返回404 not found。这里的404代表状态码,表示链接无效。如果网页正常,则网页返回的状态码为200。因此,我们做一个简单的判断。如果网页正常(状态码200),返回网页内容(字符串类型);如果网页异常(状态码不是200),返回None,防止程序报错。

  # 这里是requests自带的一个请求异常错误

from requests import RequestException

# 封装一个名为get_page的函数,用来获取网页的内容,以文本形式返回。如果网页状态码不为200,则返回空值

# 若是请求异常,同样返回空值

def get_page(url):

try:

response = requests.get(url)

if response.status_code == 200:

return response.text

return None

except RequestException:

return None

  url = "https://movie.douban.com/cinema/nowplaying/beijing/"

html = get_page(url)

html

  按照这两个步骤打印出页面的内容。此处不展示效果,请自行练习。

  建立解析规则,从上一步得到的数据中解析出感兴趣的信息

  有没有什么方法可以在没有外力的情况下从一长串字符串中提取目标信息?有经验的朋友一定会猜到并使用正则匹配。是的,这基本上是一种万能的方法,但它是对基本功的考验。

  我们总结一下上一步得到的html的打印值,可以肯定的发现电影的信息放在和

  在2个标签中,那么我们就写一个正则,从这2个标签中提取出我们想要的电影名称、电影评分和电影图片超链接。但这里有几点需要注意:

  从打印的值可以看出,字符串是换行符,正则需要跨行匹配。我们可以在匹配语句中添加 re.S;

  有几十个电影目录,这意味着每部电影都有对应的标签和

  标签。所以我们需要抑制正则匹配的贪心。也就是说,只匹配最近的字符,并完成最小的匹配。我们使用 .* 尽可能多地匹配任何字符,并使用 .*? 表示最小匹配任意字符;

  分析到此,一切基本都清楚了,剩下的就是写的问题了。

  # 导入正则包

import re

# 根据上面的分析过程,构建匹配规则。其中()表示分组,并按照分组输出匹配结果

pattern = re.compile('.*?', re.S)

# 用findall函数进行规则与字符串的匹配,并按照顺序返回全部的匹配结果,返回结果为list类型

<p>

items = re.findall(pattern, html)

# 打印items的变量类型,在notebook中,print()可以省略

type(items)

</p>

  Out: list

  len(items)

  Out: 64

  items[0]

  Out:

('决胜时刻',

'7.1',

'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2568497857.jpg')

  从执行结果可以看出,一共匹配了64个结果,其中我们对第一个结果做了打印预览。从 items[0] 的结果来看,这应该是一个元组。

  解析过程基本分析清楚。我们构建一个函数来封装规则解析过程。该函数的输入为html网页内容,输出为匹配结果。

  # 对网页文本内容进行解析。封装一个名为parse_page的函数,用正则来解析HTML。

def parse_page(html):

pattern = re.compile('.*?', re.S)

items = re.findall(pattern, html)

# 通过上一步的测试,我们知道了items长度为64。为了优化内存,这里构建了一个迭代器,在下一步打印的时候,有for循环来读取这个迭代器

for item in items:

yield{

'title': item[0],

'score': item[1],

'image': item[2],}

  打印预览

  构建一个循环,将结果一一打印出来:

  for item in parse_page(html):

print(item)

  Out:

{'title': '决胜时刻', 'score': '7.1', 'image': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2568497857.jpg'}

{'title': '小Q', 'score': '7.0', 'image': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2566474488.jpg'}

{'title': '友情以上', 'score': '6.6', 'image': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2565511423.jpg'}

{'title': '罗小黑战记', 'score': '8.2', 'image': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2568288336.jpg'}

……

{'title': '红色娘子军', 'score': '7.2', 'image': 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2044374611.jpg'}

{'title': '五朵金花', 'score': '8.0', 'image': 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2529223569.jpg'}

  整个爬虫流程的分析到此结束,是不是很简单呢?程序的完整demo放在1-1小节,小伙伴们可以看看。有了这个想法,朋友去采集一些简单的网站,比如大部分政府网站、豆瓣、链家等等,都没有问题。

  当然,今天只是一个味道。爬虫需要学习的东西还有很多,比如如何绕过反爬策略,如何高效解析网页,如何保存,如何批量爬取等等。本专栏重点介绍数据分析与处理,以及我们如何利用爬虫爬取的数据做进一步总结。专栏使用的数据来自于开放的互联网,数据会放在公有云上免费下载学习,提高大家学习的效率。

  总结

  数据之于分析师就像食材之于厨师。只有最好的食材才能让食物变得香甜可口。如何获取高质量的数据,可以从开源数据中下载,可以使用商业的采集器如优采云采集,当然你也可以自己设计爬虫采集。对于每一种方式,本文都提供了相应的渠道供朋友们使用。

  对于新人来说,需要重点对数据分析逻辑的理解和对常用技能的掌握。在后续的每一章中,在我讲解完基本语法之后,都会附有一定的实战演示。小伙伴们在熟悉了这些技巧后,还可以从*敏*感*词*开源数据库(推荐国内,因为更贴近生活)下载数据进行数据清洗和可视化,增加实战经验。

  爬虫常用于深度定制专题数据需求,小伙伴们可以根据兴趣和经验做更多有用的实验。

  }

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线