国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 用Python爬取百度搜索結(jié)果

用Python爬取百度搜索結(jié)果

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 02:24:19 1699295059

一、前言

眾所周知,百度上直接搜索關(guān)鍵字會(huì)出來(lái)一大堆東西,時(shí)常還會(huì)伴隨有廣告出現(xiàn),不小心就點(diǎn)進(jìn)去了,還得花時(shí)間退出來(lái),有些費(fèi)勁。

最近群里有個(gè)小伙伴提出一個(gè)需求,需要獲取百度上關(guān)于糧食的相關(guān)講話文章標(biāo)題和鏈接。正好小編最近在學(xué)習(xí)爬蟲(chóng),就想著拿這個(gè)需求來(lái)練練手。我們都知道,對(duì)Python來(lái)說(shuō),有大量可用的庫(kù),實(shí)現(xiàn)起來(lái)并不難,動(dòng)手吧。

二、項(xiàng)目目標(biāo)

爬取百度上關(guān)鍵字為“糧食”的搜索結(jié)果,并保存,提交給客戶(hù),用于進(jìn)一步分析我國(guó)糧食政策。

三、項(xiàng)目準(zhǔn)備

軟件:PyCharm

需要的庫(kù):json,requests,etree

四、項(xiàng)目分析

1)如何進(jìn)行關(guān)鍵詞搜索?

利用response庫(kù),直接Get網(wǎng)址獲得搜索結(jié)果。

2)如何獲取標(biāo)題和鏈接?

利用etree對(duì)原代碼進(jìn)行規(guī)范梳理后,通過(guò)Xpath定位到文章標(biāo)題和href,獲取標(biāo)題和文章鏈接。

3)如何保存搜索結(jié)果?

新建txt文件,對(duì)搜索結(jié)果循環(huán)寫(xiě)入,保存即可。

五、項(xiàng)目實(shí)現(xiàn)

1、第一步導(dǎo)入需要的庫(kù)

importjson

importrequests

fromlxmlimportetree

2、第二步用requests進(jìn)行請(qǐng)求搜索

headers={

"User-Agent":"Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/88.0.4324.104Safari/537.36"

}

response=requests.get('https://www.baidu.com/s?wd=糧食&lm=1',headers=headers)

3、第三步對(duì)獲取的源代碼進(jìn)行整理分析,通過(guò)Xpath定位需要的資源

r=response.text

html=etree.HTML(r,etree.HTMLParser())

r1=html.xpath('//h3')

r2=html.xpath('//*[@class="c-abstract"]')

r3=html.xpath('//*[@class="t"]/a/@href')

4、第四步把有用資源循環(huán)讀取保存

foriinrange(10):

r11=r1[i].xpath('string(.)')

r22=r2[i].xpath('string(.)')

r33=r3[i]

withopen('ok.txt','a',encoding='utf-8')asc:

c.write(json.dumps(r11,ensure_ascii=False)+'\n')

c.write(json.dumps(r22,ensure_ascii=False)+'\n')

c.write(json.dumps(r33,ensure_ascii=False)+'\n')

print(r11,end='\n')

print('------------------------')

print(r22,end='\n')

print(r33)

以上內(nèi)容為大家介紹了用Python爬取百度搜索結(jié)果,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.kei0345678.cn/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
如何理解Python一切都是變量的說(shuō)法?

Python的好處之一是與其他語(yǔ)法繁重的語(yǔ)言相比,Python具有相對(duì)易用的特點(diǎn)。但是,隨著深入的學(xué)習(xí)就會(huì)發(fā)現(xiàn)Python有許多隱藏的特性貫穿其中,因此...詳情>>

2023-11-07 05:17:08
Python內(nèi)置函數(shù)

python中有許多內(nèi)置函數(shù),不像print那么廣為人知,但它們卻異常的強(qiáng)大,用好了可以大大提高代碼效率。這次來(lái)梳理下8個(gè)好用的python內(nèi)置函數(shù)。1...詳情>>

2023-11-07 05:06:20
用 Python 高效背單詞

作為一個(gè)程序員,經(jīng)常需要閱讀英文論文、文檔、書(shū)籍。對(duì)于一些基礎(chǔ)不好的同學(xué)來(lái)說(shuō),最主要的攔路虎是英語(yǔ)單詞。計(jì)算機(jī)類(lèi)文檔不同于小說(shuō),其語(yǔ)法...詳情>>

2023-11-07 04:33:56
Python處理文件的幾個(gè)常用小知識(shí)

python這門(mén)語(yǔ)言有個(gè)很大的用途就是使用它來(lái)進(jìn)行文件處理,學(xué)會(huì)處理文件和保存數(shù)據(jù)可以讓你的程序使用起來(lái)更加容易和方便,因此小編為大家準(zhǔn)備了...詳情>>

2023-11-07 03:54:20
python經(jīng)典最短代碼實(shí)現(xiàn)排序的功能

冒泡排序:算法思想:1.比較相鄰的元素,如果第一個(gè)比第二個(gè)大,則交換他們的位置;2.依次對(duì)每一對(duì)的元素進(jìn)行比較,如果前一個(gè)比后一個(gè)大,則交...詳情>>

2023-11-07 03:50:44