首頁  >  文章  >  後端開發  >  手把手教你使用Python網絡爬蟲獲取基金信息

手把手教你使用Python網絡爬蟲獲取基金信息

Go语言进阶学习
Go语言进阶学习轉載
2023-07-24 14:53:20883瀏覽

#一、前言

前幾天有個粉絲找我獲取基金信息,這裡拿出來分享一下,有興趣的小伙伴們,也可以積極嘗試。

手把手教你使用Python網絡爬蟲獲取基金信息

二、資料取得

#這裡我們的目標網站是某基金官網,需要抓取的數據如下圖所示。

手把手教你使用Python網絡爬蟲獲取基金信息可以看到上圖中基金代碼那一列,有不同的數字,隨機點擊一個,可以進入到基金詳情頁,連結也非常有規律,以基金代碼作為標誌的。

其實這個網站倒是不難,資料什麼的,都沒有加密,網頁上的信息,在原始碼中都可以直接看到。 手把手教你使用Python網絡爬蟲獲取基金信息

這樣就降低了抓取難度了。透過瀏覽器抓包的方法,可以看到特定的請求參數,而且可以看到請求參數中只有pi在變化,而這個值剛好對應的是頁面,直接建構請求參數就可以了。 手把手教你使用Python網絡爬蟲獲取基金信息

程式碼實作過程

找到資料來源之後,接下來就是程式碼實作了,一起來看看吧,這裡給出部分關鍵程式碼。

取得股票id資料

response = requests.get(url, headers=headers, params=params, verify=False)
    pattern = re.compile(r&#39;.*?"(?P<items>.*?)".*?&#39;, re.S)
    result = re.finditer(pattern, response.text)
    ids = []
    for item in result:
        # print(item.group(&#39;items&#39;))
        gp_id = item.group(&#39;items&#39;).split(&#39;,&#39;)[0]

結果如下圖所示:

手把手教你使用Python網絡爬蟲獲取基金信息

之後建構詳情頁鏈接,獲取詳情頁的基金信息,關鍵代碼如下:

response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
selectors = etree.HTML(response.text)
danweijingzhi1 = selectors.xpath(&#39;//dl[@class="dataItem02"]/dd[1]/span[1]/text()&#39;)[0]
danweijingzhi2 = selectors.xpath(&#39;//dl[@class="dataItem02"]/dd[1]/span[2]/text()&#39;)[0]
leijijingzhi = selectors.xpath(&#39;//dl[@class="dataItem03"]/dd[1]/span/text()&#39;)[0]
lst = selectors.xpath(&#39;//div[@class="infoOfFund"]/table//text()&#39;)

結果如下圖所示:

手把手教你使用Python網絡爬蟲獲取基金信息將具體的信息做相應的字符串處理,然後保存到csv檔案中,結果如下圖所示:

手把手教你使用Python網絡爬蟲獲取基金信息有了這個,你可以做進一步的統計和資料分析了。

三、總結

大家好,我是Python進階者。這篇文章主要分享了使用Python網絡爬蟲獲取基金數據信息,這個項目不算太難,裡邊稍微有點小坑,歡迎大家積極嘗試,如果有遇到問題,請添加我好友,我幫助解決。

這篇文章主要是以【股票型】的分類做了抓取,其他的類型,我就沒做了,歡迎大家嘗試,其實邏輯都是一樣的,改下參數就可以了。 手把手教你使用Python網絡爬蟲獲取基金信息

#

以上是手把手教你使用Python網絡爬蟲獲取基金信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:Go语言进阶学习。如有侵權,請聯絡admin@php.cn刪除