Python爬取百度貼吧數據
阿新 • • 發佈:2017-07-25
utf-8 支持我 family encode code word keyword 上一條 時間
本渣除了工作外,在生活上還是有些愛好,有些東西,一旦染上,就無法自拔,無法上岸,從此走上一條不歸路。花鳥魚蟲便是我堅持了數十年的愛好。
本渣還是需要上班,才能支持我的業余愛好。上班時間還是盡量訪問外網,少做一些和工作不太相關的事。有段時間,像是中毒一樣,經常想關註百度貼吧中牡丹鸚鵡,及玄鳳鸚鵡的交易圖。
於是就寫出一下代碼:
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爬取百度貼吧數據