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爬取百度贴吧数据的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫—爬取百度百科数据

python爬取百度搜索页面,得到内容不全,求教,why

零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)

百度鲜花图像爬取

Python爬虫 - 爬取百度html代码前200行

基于Python爬取百度返回搜索结果(标题超链接简介)代码