BaiduSpider:一个爬取百度的利器

samzhangjy
• 阅读 3424

BaiduSpider是一款基于Python的百度搜索结果爬虫,支持多种搜索结果。这篇文章将从多个方面介绍BaiduSpider。

什么是BaiduSpider?

BaiduSpider是一款强大但轻量的百度搜索结果提取器,基于BeautifulSoup4和requests。它支持多种搜索结果,包括百度网页搜索,百度图片搜索,百度知道搜索,百度视频搜索,百度资讯搜索,百度文库搜索, 百度经验搜索,百度百科搜索。其中,百度网页搜索还支持多种搜索结果块,例如百科块,贴吧块,计算块等多样的搜索结果。除此以外,即将在今年八月发布的BaiduSpider V1.0.0正式版还会加入移动端的爬取,增加爬取范围。

GitHub:https://github.com/BaiduSpider/BaiduSpider 文档:https://baiduspider.github.io PyPI:https://pypi.org/project/BaiduSpider

怎么下载BaiduSpider?

在你的项目里,直接使用pip安装:

pip install baiduspider

当然,你也可以从GitHub clone,获取最新的更新:

git clone https://github.com/BaiduSpider/BaiduSpider.git && python setup.py install

然后在你的项目文件中导入:

from baiduspider import BaiduSpider

# ...

BaiduSpider简单使用

BaiduSpider的使用也十分简单。下面的这个例子打印了BaiduSpider的网页搜索返回结果,也就是简易版的网页搜索CLI:

from baiduspider import BaiduSpider
from pprint import pprint

pprint(BaiduSpider().search_web(input()))

注:这段代码仅适用于BaiduSpider V0.2.0及以下,不适合正式版中的返回模型式搜索结果。

BaiduSpider:一个爬取百度的利器

怎么样?是不是非常简单?除了易用性之外,BaiduSpider还支持自定义返回值。例如,我只想看到最最普通的网页搜索返回结果,没有其他花里胡哨的块。那么,我可以这样写:

from baiduspider import BaiduSpider
from pprint import pprint

pprint(BaiduSpider().search_web(input(), exclude=['all']))

BaiduSpider:一个爬取百度的利器

没错,只多了一个参数:exclude。这个参数非常强大,感兴趣的可以去文档看一看。

使用BaiduSpider制作的项目

在这里我精选了几个使用BaiduSpider制作的开源项目,下面我将来分别介绍这几个项目。

Aggregate Search是一款聚合搜索引擎,目前已经接入了百度、Google、搜狗和微信这四个平台。

Demo:https://agsearch.frp.limour.top/ GitHub:https://github.com/Limourli-liu/Aggregate-search

BaiduCloud

BaiduCloud是一个爬取百度数据、进行情态分析并生成词云的开源项目。

GitHub:https://github.com/neverdied/BaiduCloud

题拍拍

这是一个参赛作品,使用了深度学习技术进行小学应用题自动解题,其中数据抓取部分使用了BaiduSpider。

GitHub:https://github.com/jackli777/CCF-BDCI-2020-MWP-

最后

如果你喜欢BaiduSpider这个项目的话,请留下你的star吧!你的支持真的对我们很重要~

BaiduSpider GitHub项目地址:https://github.com/BaiduSpider/BaiduSpider

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
冴羽 冴羽
2年前
VuePress 博客之 SEO 优化(六)站长工具
前言在中,我们使用VuePress搭建了一个博客,最终的效果查看:。本篇接着讲讲SEO优化会用到的站长平台和工具等。1.百度统计地址:网站流量分析工具,能够告诉用户访客是如何找到并浏览用户的网站,在网站上做了些什么2.百度搜索资源平台地址:在添加站点后,可以看到自己站点在百度搜索结果中的一些表现:百度搜索中心也提供了一些教程如:1.《平
Karen110 Karen110
2年前
手把手教你用Python爬取百度搜索结果并保存
一、前言大家好,我是崔艳飞。众所周知,百度上直接搜索关键字会出来一大堆东西,时常还会伴随有广告出现,不小心就点进去了,还得花时间退出来,有些费劲。最近群里有个小伙伴提出一个需求,需要获取百度上关于粮食的相关讲话文章标题和链接。正好小编最近在学习爬虫,就想着拿这个需求来练练手。我们都知道,对Python来说,有大量可用的库,实现起来并不难,动手吧。二、项目
把帆帆喂饱 把帆帆喂饱
2年前
爬虫
爬虫什么是爬虫使用编程语言所编写的一个用于爬取web或app数据的应用程序怎么爬取数据1.找到要爬取的目标网站、发起请求2.分析URL是如何变化的和提取有用的URL3.提取有用的数据爬虫数据能随便爬取吗?遵守robots.txt协议爬虫的分类通用网络爬虫百度,Google等搜索引擎,从一些初识的URL扩展到整个网站,主要为门户站点搜索引擎和大型网站服务采
京东云开发者 京东云开发者
12个月前
ES的索引结构与算法解析
提到ES,大多数爱好者想到的都是搜索引擎,但是明确一点,ES不等同于搜索引擎。不管是谷歌、百度、必应、搜狗为代表的自然语言处理(NLP)、爬虫、网页处理、大数据处理的全文搜索引擎,还是有明确搜索目的的搜索行为,如各大电商网站、OA、站内搜索、视频网站的垂直搜索引擎,他们或多或少都使用到了ES。
Stella981 Stella981
2年前
Shodan的http.favicon.hash语法详解与使用技巧
  在Shodan搜索中有一个关于网站icon图标的搜索语法,http.favicon.hash,我们可以使用这个语法来搜索出使用了同一icon图标的网站,不知道怎么用的朋友请参考我上一篇(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fmia
Stella981 Stella981
2年前
PHP+jQuery寥寥几行代码轻松实现百度搜索那样的无刷新PJAX的分页列表和导航链接
!(https://static.oschina.net/uploads/space/2016/1208/171419_U00R_561214.png)PHP寥寥几行代码轻松实现百度搜索那样的分页列表和导航链接,某些语言的拥趸哭晕在厕所.<?php$apparray('db_prefix''
Wesley13 Wesley13
2年前
2020 7月 百度搜索词获取最新版
2020年7月相信大家很多人都获取不到百度的搜索词了百度五月份发出通告下线推广流量referer中搜索关键词!(https://img2020.cnblogs.com/blog/1615842/202008/161584220200803172115050181499106.png)目前获取SEM的搜索词(广告链接的)只能通过最新版的百度
Stella981 Stella981
2年前
Android百度地图开发(三)范围搜索
1.新建项目将地图API添加进classpath中:!(http://static.oschina.net/uploads/img/201503/22194557_5Zt9.png)2.在activity\_main.xml中添加一个MapView,用来显示地图:<LinearLayoutxmlns:android"http:
Wesley13 Wesley13
2年前
TAG页和站内搜索页要注意的问题
百度网页搜索反作弊团队近期发现一部分网站遍历热门关键词生成大量的站内搜索结果页来获取搜索引擎流量,其中存在大量的不相关内容严重损害了搜索引擎的用户体验并且侵占了相应领域的优质网站收益,对于此类网站我们将做出严厉的处理,希望存在此问题的站长及时进行整改调整。这个问题已经存在很长时间了,其实和百度一直打击的垃圾TAG页面是一样的,TAG只是站内搜索的另一
samzhangjy
samzhangjy
Lv1
Keep coding forever...
文章
3
粉丝
2
获赞
4