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.物品图片:
posted @ 2017-07-25 11:45  异彩飞天  阅读(385)  评论(0编辑  收藏  举报