如何通过搜索关键字来获取百度贴吧评论区的图片和视频?
如何通过搜索关键字来获取百度贴吧评论区的图片和视频?【一、项目背景】 百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片想下载呢?或者看到一段视频想进行下载
【一、项目背景】
百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片想下载呢?或者看到一段视频想进行下载呢?
今天,小编带大家通过搜索关键字来获取评论区的图片和视频。
【二、项目目标】
实现把贴吧获取的图片或视频保存在一个文件。
【三、涉及的库和网站】
1、网址如下:
https://tieba.baidu.com/f?ie=utf-8&kw=吴京&fr=search
2、涉及的库:requests、lxml、urrilb
【四、项目分析】
1、反爬措施的处理
前期测试时发现,该网站反爬虫处理措施很多,测试到有以下几个:
1) 直接使用requests库,在不设置任何header的情况下,网站直接不返回数 据。
2) 同一个ip连续访问40多次,直接封掉ip,起初我的ip就是这样被封掉的。
为了解决这两个问题,最后经过研究,使用以下方法,可以有效解决。
获取正常的 http请求头,并在requests请求时设置这些常规的http请求头。
2、如何实现搜索关键字?
通过网址我们可以发现只需要在kw=() ,括号中输入你要搜索的内容即可。这样就可以用一个{}来替代它,后面我们在通过循环遍历它。
【五、项目实施】
1、创建一个名为BaiduImageSpider的类,定义一个主方法main和初始化方法init。导入需要的库。import requestsfrom lxml import etreefrom urllib import parseclass BaiduImageSpider(object): def __init__(self, tieba_name): pass def main(self): passif __name__ == '__main__': inout_word = input("请输入你要查询的信息:")
spider.main() passif __name__ == '__main__': spider= ImageSpider() spider.main()
2、准备url地址和请求头headers 请求数据。import requestsfrom lxml import etreefrom urllib import parseclass BaiduImageSpider(object): def __init__(self, tieba_name): self.tieba_name = tieba_name #输入的名字 self.url = "http://tieba.baidu.com/f?kw={}&ie=utf-8&pn=0" self.headers = { 'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)' }
'''发送请求 获取响应''' def get_parse_page(self, url, xpath): html = requests.get(url=url, headers=self.headers).content.decode("utf-8") parse_html = etree.HTML(html) r_list = parse_html.xpath(xpath) return r_list def main(self): url = self.url.format(self.tieba_name)if __name__ == '__main__': inout_word = input("请输入你要查询的信息:") key_word = parse.quote(inout_word) spider = BaiduImageSpider(key_word) spider.main()
-
云与智能的融合已经成为共识,百度用“云智一体”坐定头羊位置2020-12-17
-
2020NR自动驾驶榜单发布,百度进入“领导者”梯队2020-12-17
-
NLP ——从0开始快速上手百度 ERNIE2020-12-17
-
百度提出的持续学习语义理解框架RNIE基本原理简析2020-12-17
-
突发!百度准备「造车」?2020-12-15
-
百度如流:以人工智能重塑工作方式2020-12-15
-
百度 Apollo 发布汽车智能化解决方案2020-12-09
-
实测百度无人驾驶:科技晕车之旅2020-12-05
-
字节跳动诉百度案背后:百度是否对搜索结果人为干预?2020-12-03
-
赋能开发者快速获取全链路能力,AIoT平台涂鸦智能推动行业规模化发展2020-12-02
-
开发部署门槛降后,华为让制造业AI的获取变得更灵活2020-11-27
-
“十四五”语境下:百度正在织落地的网2020-11-25
-
电子地图“神仙打架”:百度与四维图新谁能胜出?2020-11-23
-
百度发布第三季度财务报告,净利润暴涨三倍2020-11-19
-
移动生态的“换档加速”,百度的闭环式移动生态势能逐渐释放2020-11-18