Python爬取百度贴吧数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬取百度贴吧数据相关的知识,希望对你有一定的参考价值。
本渣除了工作外,在生活上还是有些爱好,有些东西,一旦染上,就无法自拔,无法上岸,从此走上一条不归路。花鸟鱼虫便是我坚持了数十年的爱好。
本渣还是需要上班,才能支持我的业余爱好。上班时间还是尽量访问外网,少做一些和工作不太相关的事。有段时间,像是中毒一样,经常想关注百度贴吧中牡丹鹦鹉,及玄凤鹦鹉的交易图。
于是就写出一下代码:
import requests from lxml import etree url = r"http://tieba.baidu.com/p/5197963751" url = r"http://tieba.baidu.com/p/5195568368" # url = r"http://tieba.baidu.com/p/5004763771" keyword = "广州" s = requests.session() def findgz(pageindex): r = s.get("{1}?pn={0}".format(pageindex, url)) # print(r.text.encode("utf-8")) htmlpage = etree.HTML(r.text) divlist = htmlpage.xpath( "//div[@class=‘d_post_content j_d_post_content clearfix‘]") print("第{0}页".format(pageindex)) for x in divlist: for y in x.xpath(‘text()‘): if keyword in y: for z in x.xpath(‘text()‘): print(z.replace(‘ ‘, ‘‘)) else: print(‘\n‘) r = s.get(url) tmphtml = etree.HTML(r.text) maxpageindex = tmphtml.xpath("//a[text()=‘尾页‘]")[0].get("href").split("=")[-1] print("总共{0}页".format(maxpageindex)) [findgz(x) for x in range(1, int(maxpageindex) + 1)]
输出如下:
总共8页
第1页
1.百度昵称:aiiye1234
2.交易物品:白脸黄脸
3.物品价格:400-1000
4.联系方式:扣扣822616382
5.地理位置:广州
6.其它备注:开始学吃了
7.物品图片:
以上是关于Python爬取百度贴吧数据的主要内容,如果未能解决你的问题,请参考以下文章