<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          手把手教你用Python爬取百度搜索結(jié)果并保存

          共 2027字,需瀏覽 5分鐘

           ·

          2021-02-17 09:20

          點擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進行關(guān)注

          回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書

          朝辭白帝彩云間,千里江陵一日還。

          一、前言

          大家好,我是崔艷飛。眾所周知,百度上直接搜索關(guān)鍵字會出來一大堆東西,時常還會伴隨有廣告出現(xiàn),不小心就點進去了,還得花時間退出來,有些費勁。

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


          二、項目目標

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


          三、項目準備

          軟件:PyCharm

          需要的庫:json, requests,etree


          四、項目分析

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

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

          https://www.baidu.com/s?wd=糧食

          2)如何獲取標題和鏈接?

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

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

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


          五、項目實現(xiàn)

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

          import jsonimport requestsfrom lxml import etree

          2、第二步用requests進行請求搜索

          headers = {    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"}response = requests.get('https://www.baidu.com/s?wd=糧食&lm=1', headers=headers)

          3、第三步對獲取的源代碼進行整理分析,通過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)讀取保存

          for i in range(10):    r11 = r1[i].xpath('string(.)')    r22 = r2[i].xpath('string(.)')    r33 = r3[i]    with open('ok.txt', 'a', encoding='utf-8') as c:         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)

          ????

          六、效果展示

          1、程序運行結(jié)果,如下圖所示:

          2、保存為txt的文件最終結(jié)果如下圖所示:


          七、總結(jié)

          本文介紹了如何利用Python對百度搜索結(jié)果進行爬取、保存,是一個小爬蟲,這也是Python好玩的地方,有大量免費的庫可用,能幫你實現(xiàn)各種需求。工作量大,學(xué)會用Python!

          最后需要本文項目代碼的小伙伴,請在公眾號后臺回復(fù)“糧食”關(guān)鍵字進行獲取,如果在運行過程中有遇到任何問題,請隨時留言或者加小編好友,小編看到會幫助大家解決bug噢!

          -------------------?End?-------------------

          往期精彩文章推薦:

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群

          萬水千山總是情,點個【在看】行不行

          /今日留言主題/

          隨便說一兩句吧~~

          瀏覽 70
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜久久福利 | 最新一区二区在线 | 亚洲性天堂 | 综合色网站 | 抽插网站 |