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

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車研發(fā)中心重磅落地,寶馬家門口“搶人”
最新活動(dòng)更多
-
即日-9.1立即下載>> 【限時(shí)下載】ADI中國(guó)三十周年感恩回饋助力企業(yè)升級(jí)!
-
即日-9.16點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
推薦專題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進(jìn)算力新選擇 | 2025華為算力場(chǎng)景發(fā)布會(huì)暨北京xPN伙伴大會(huì)成功舉辦
- 3 宇樹機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 4 清華跑出具身智能獨(dú)角獸:給機(jī)器人安上眼睛和大腦,融資近20億
- 5 特朗普要求英特爾首位華人 CEO 辭職
- 6 踢館大廠和微軟,剖析WPS靈犀的AI實(shí)用主義
- 7 騰訊 Q2 財(cái)報(bào)亮眼:AI 已成第二增長(zhǎng)曲線
- 8 谷歌吹響AI沖鋒號(hào),AI還有哪些機(jī)會(huì)
- 9 蘋果把身家押在Siri上:一場(chǎng)輸不起的自我革命
- 10 騰訊米哈游押寶的中國(guó)AI應(yīng)用,正在海外悶聲發(fā)財(cái)