美文网首页菜鸟学Python
百度=“百家号站内搜索”?

百度=“百家号站内搜索”?

作者: 一只写程序的猿 | 来源:发表于2019-02-28 15:56 被阅读2次

    如果你经常关注热点新闻,那么你一定知道前段时间有篇文章《搜索引擎百度已死》引起很大争议,做为一名吃瓜群众,我也想理性探讨下,其实这篇文章我很早之前就想写了,但是每次开始执笔,就会有别的事情耽误,因为我日常也不经常“fq”,所以使用百度也成了和我息息相关的事,今天我们就理性去探讨下这个问题。

    搜索公众号最近一个月关于“搜索引擎百度已死”的文章,按阅读量去排序,前几篇都是10w+的阅读量,由此可见广大网民对于此事关注度还是蛮高的。


    我随机挑选了几个关键词(滴滴、流浪地球、裁员)在百度进行搜索

    • 滴滴

      百度搜索“滴滴”结果
    • 裁员

    • 流浪地球

    图中标注的全是百家号发布的内容,为了避免结果的偶然性,三个关键词的搜索结果显然不具备代表性,也不能客观的认为“百度搜索结果的首页,充斥着大量来自百家号的内容。”

    所以我们增加样本,通过增加样本集来增加结果的准确性。

    流程图

    Chrome浏览器右键检查查看network这些老生常谈的话这里就不啰嗦了,因为我们主要是想采集信息类的结果,所以我选择了去采集百度资讯的新闻。


    • 数据采集
    import time
    import datetime
    import re
    import random
    import requests
    
    from bs4 import BeautifulSoup
    from urllib.parse import urlparse
    
    zx_url = "https://www.baidu.com/s?ie=utf-8"
    
    word = '滴滴'
    
    my_headers = {
                'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36',
            }
    
    data = {'rtt': 1, 'bsst': 1, 'cl': '2', 'tn': 'news', 'word': word}
    
    r = requests.get(url=zx_url, params=data, headers=my_headers)
    
    
    soup = BeautifulSoup(zx_html, 'html.parser')
    soup_content = soup.find('div', id='content_left')
    
    result_list = soup_content.find_all('div', class_='result')
    now = datetime.datetime.now()
    current_time = now.strftime("%Y-%m-%d 08:00:00")
    ystd_day = now - datetime.timedelta(days=50)
    
    
    for result in result_list:
        title = result.find('h3', attrs={'class': 'c-title'}).get_text().strip()    # 去除空格
        href = result.find('a').get("href")
        re_time = result.find('p', attrs={'class': 'c-author'}).get_text().\
            replace('\n', '').replace('\t', '').replace(' ', '').replace('\xa0', '')    # 去除多余字符
    
        d_time = datetime.datetime.strptime(re_time[-16:], '%Y年%m月%d日%H:%M')
        print('title: %s; href:%s; d_time:%s;' % (title, href, d_time))
    
    
    • 这里采用Python的urllib的子模块urlparse去解析链接,判断是否为百家号的内容
    res = urlparse(href)
    http_res = res.scheme + '://' + res.netloc
    

    代码略去了部门对数据库读写的操作

    部分日志

    其实日志已经暴露了一切,秉持一贯严谨的态度,对结果进行了统计,关键词的数量有200个,每个关键词采集前5页的链接,因为此次关键词是随机的,所以搜索部分关键词,只有1-2页的结果,最终采集链接条数6038条,其中百家号的文章共2888条,占比47.8%,结果仁者见仁智者见智。

    方可成在《搜索引擎百度已死》后又写了一篇文章,其中一段话我十分赞同:

    搜索引擎其实是信息社会的基础设施。一家市场占有率大约70%的搜索引擎,掌握的几乎就是全社会的信息入口。中国人能接触到怎样的信息,是真实还是虚假,优质还是低劣,很大程度上会被它决定。

    所以,我们才会对百度搜索成为百家号站内搜索颇有意见,我挺怀念早期的百度、早期的贴吧、早期的微博、早期的抖音,不过在商业化面前谈不动情怀。

    最后以人民网三评百度结尾:

    相关文章

      网友评论

        本文标题:百度=“百家号站内搜索”?

        本文链接:https://www.haomeiwen.com/subject/zqrhuqtx.html