如何通過搜索關(guān)鍵字來獲取百度貼吧評論區(qū)的圖片和視頻?
【一、項(xiàng)目背景】
百度貼吧是全球最大的中文交流平臺,你是否跟我一樣,有時(shí)候看到評論區(qū)的圖片想下載呢?或者看到一段視頻想進(jìn)行下載呢?
今天,小編帶大家通過搜索關(guān)鍵字來獲取評論區(qū)的圖片和視頻。
【二、項(xiàng)目目標(biāo)】
實(shí)現(xiàn)把貼吧獲取的圖片或視頻保存在一個(gè)文件。
【三、涉及的庫和網(wǎng)站】
1、網(wǎng)址如下:
https://tieba.baidu.com/f?ie=utf-8&kw=吳京&fr=search
2、涉及的庫:requests、lxml、urrilb
【四、項(xiàng)目分析】
1、反爬措施的處理
前期測試時(shí)發(fā)現(xiàn),該網(wǎng)站反爬蟲處理措施很多,測試到有以下幾個(gè):
1) 直接使用requests庫,在不設(shè)置任何header的情況下,網(wǎng)站直接不返回?cái)?shù) 據(jù)。
2) 同一個(gè)ip連續(xù)訪問40多次,直接封掉ip,起初我的ip就是這樣被封掉的。
為了解決這兩個(gè)問題,最后經(jīng)過研究,使用以下方法,可以有效解決。
獲取正常的 http請求頭,并在requests請求時(shí)設(shè)置這些常規(guī)的http請求頭。
2、如何實(shí)現(xiàn)搜索關(guān)鍵字?
通過網(wǎng)址我們可以發(fā)現(xiàn)只需要在kw=() ,括號中輸入你要搜索的內(nèi)容即可。這樣就可以用一個(gè){}來替代它,后面我們在通過循環(huán)遍歷它。
【五、項(xiàng)目實(shí)施】
1、創(chuàng)建一個(gè)名為BaiduImageSpider的類,定義一個(gè)主方法main和初始化方法init。導(dǎo)入需要的庫。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、準(zhǔn)備url地址和請求頭headers 請求數(shù)據(jù)。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)' }
'''發(fā)送請求 獲取響應(yīng)''' def get_parse_page(self, url, xpath): html = requests.get(url=url, headers=self.headers).content.decode("utf-8") parse_h(yuǎn)tml = etree.HTML(html) r_list = parse_h(yuǎn)tml.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()

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動更多
-
7月8日立即報(bào)名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身智能機(jī)器人產(chǎn)業(yè)技術(shù)創(chuàng)新應(yīng)用論壇
-
免費(fèi)參會立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題