事实:网站放广告会影响蜘蛛抓取吗
优采云 发布时间: 2022-09-23 05:03事实:网站放广告会影响蜘蛛抓取吗
网站广告会影响蜘蛛爬行吗?
重点介绍:正常的网站广告不会影响搜索引擎蜘蛛的抓取,但是如果广告太多影响用户体验,会对页面产生负面影响,搜索引擎蜘蛛也会进行相应的调整,进而影响抓取。因此,在设置网站广告时,不要过于激进,在不影响用户体验的情况下进行设置。对于带有出站链接的广告,请记住添加 nofollow 标签。
问题:网站广告会影响蜘蛛爬行吗?
答:这里需要介绍一下搜索引擎的工作原理。搜索引擎在爬取页面时,会提取页面上的URL链接,然后将这些链接放入数据库中进行爬取。后续会以网站的综合表现为准。抓住。这个过程与网站上是否放广告无关,所以在网上放广告不会影响蜘蛛爬取。当然要注意网站页面上的导出链接不能太多,否则会有链接农场的嫌疑。对于出站链接,请尝试添加 nofollow 标签。
广告收入,作为网站收入的来源之一,是一种正常的方式,只要设置的广告在位置(不能覆盖主要内容)和尺寸(广告图片的尺寸不应该太大,会给用户带来视觉上的影响)是合理的,不会对网站的优化产生直接影响。蜘蛛爬取页面时,重点是看页面的主要内容。如果广告是图片,在蜘蛛眼中实际上并没有任何实际内容;如果是文字形式的话,如果广告少的话,是没有效果的。当然,我也很注意。毕竟网站为普通用户提供内容解决方案,所以广告部分的内容不能占太多。
关于网站广告和蜘蛛爬取的问题,作者简单的说了这么多。总之,正常的网站广告不会影响搜索引擎蜘蛛的爬取,但是如果广告过多影响用户体验,会对页面产生负面影响,搜索引擎蜘蛛也会做出相应的反应进行影响抓取的调整。因此,在设置网站广告时,不要过于激进,在不影响用户体验的情况下进行设置。对于带有出站链接的广告,请记住添加 nofollow 标签。
这篇文章已经帮助了 1888 人!
事实:Python 数据采集——爬取学校新闻标题
文章目录
前言
使用urlopen+Beautifulsoup完成一个学校新闻标题爬取任务
一、扩展库简介1、urllib库
urllib库是python内置的HTTP请求库,包括以下模块:
(1)urllib.request.urlopen()
urlopen返回的响应对象为http.client.HTTPResponse类型,主要包括read()、readinfo()、getheader(name)、getheaders()、fileno()等方法。我们需要用到的是read()方法,如下:
# 导入 urllib.request 模块
import urllib.request
# 解析我们给定的 url: https://www.hist.edu.cn/index/sy/kyyw.htm
# 即读取给定 url 的 html 代码 --> 输入 url, 输出 html
response = urllib.request.urlopen('https://www.hist.edu.cn/index/sy/kyyw.htm')
# 打印我们获取到的数据,并以 utf-8 形式进行解码
# 需要注意:修改 pycharm 的编码方式为 utf8, 否则会报错
print(response.read().decode('utf-8'))
2、BeautifulSoup 库
BeautifulSoup 是 Python 的第三方库,可用于解析 html 数据。我们使用的主要功能是从网页中获取数据:
(1)美汤()
BeautifulSoup 将复杂的 HTML 文档转换为复杂的树结构,其中每个节点都是一个 Python 对象。所有对象可分为 4 种类型:
(2)find_all()
find_all() 搜索文档树,搜索当前标签的所有标签子节点,判断是否满足过滤条件。返回值类型为bs4.element.ResultSet,即返回多个对象的集合,可以用for循环遍历。完整的语法如下:
find_all(名称,属性,递归,字符串,**kwargs)
参数含义如下:
上面我们已经转换了html文档,接下来我们使用find_all()来获取我们想要的数据,但是在这之前,我们需要知道我们的搜索数据的标准是什么?这需要我们通过调试网页知道,如下:
代码:
# 获取转换后的html文档里属性class=list-main-warp
divs = soup.find_all('div',{'class','list-main-warp'})
# 从已获取的 div 标签的内容里获取 li 标签的内容
lis = divs[0].find_all('li')
# 遍历获取到的 lis 列表,并从中抓取链接和标题
for li in lis:
# print(li.find_all('a')[0].get('href'))
print(li.find_all('a')[0].get('title'))
输出结果:
二、完整代码
import urllib.request
<p>
from bs4 import BeautifulSoup
# 解析我们给定的 url: https://www.hist.edu.cn/index/sy/kyyw.htm
# 即读取给定 url 的 html 代码 --> 输入 url, 输出 html
response = urllib.request.urlopen("https://www.hist.edu.cn/index/sy/kyyw.htm")
# 打印我们获取到的数据,并以 utf-8 形式进行解码
# 需要注意:修改 pycharm 的编码方式为 utf8, 否则会报错
content = response.read().decode('utf-8')
# 利用 BeautifulSoup()将上面读取到的html文档进行转换
soup = BeautifulSoup(content,'html.parser',from_encoding='utf-8')
# 获取转换后的html文档里属性class=list-main-warp
divs = soup.find_all('div',{'class','list-main-warp'})
# 从已获取的 div 标签的内容里获取 li 标签的内容
lis = divs[0].find_all('li')
# 遍历获取到的 lis 列表,并从中抓取链接和标题
for li in lis:
# print(li.find_all('a')[0].get('href'))
print(li.find_all('a')[0].get('title'))
</p>