日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python运势预测程序_Python 爬虫系列之一——每日星座运势

發布時間:2025/3/15 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python运势预测程序_Python 爬虫系列之一——每日星座运势 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開個新坑——Python 爬蟲系列,最近腦子里有很多非常有趣的想法,但實現起來都需要一些簡單的爬蟲知識,如果放在趣學 Python 系列,會顯得文章太長,干脆拿出來開個新坑。這個系列本質上是為趣學 Python 系列提供數據支撐的,我會盡量從最簡單的爬蟲開始寫,保證零基礎一樣能看懂。

Python 爬蟲已經是爛大街的東西了,幾乎每個人在學習 Python 后第一個實戰項目就是爬蟲,入門門檻低,上手簡單,容易產生成就感,與此同時,大規模數據爬取的技術含量又保證了深入學習的必要性,簡直是學習技術的最佳對象。今天,我們來實現一個最簡單的爬蟲,用以爬去各個星座的每日運勢。

0x00 基本環境

Python 版本:3.7.1

用到的庫:lxml、requests

Pytthon 經常會用到不同的庫,有時甚至是不同的版本,如果自己配置包管理工具和虛擬環境非常麻煩,哪怕 pipenv 將二者進行了結合用起來也不是很方便,建議安裝 Anaconda,省時省心,用法也簡單,各個虛擬環境隨時切換,極為方便。

0x01 基礎知識

首先介紹下幾個基本的概念,方便大家對爬蟲如何工作有一個簡單的了解。

所謂爬蟲,其實就是用程序模擬人來登錄站,然后提取我們需要的信息。訪問網站是通過 HTTP 協議來實現的,其工作模型如下圖:

那么我們需要了解的第一個知識點就是如何通過 Python 來發送請求。在我們的爬蟲中,訪問網頁這部分工作使用 requests 庫來實現,通過 requests 庫模擬發送請求,然后接收網站的響應,也就是傳回的 html 數據。

提取指定節點包含的信息一般有兩種方式:正則表達式或 XPath,其中正則表達式比較繁瑣,XPath 簡單易懂,還可以在 Chrome 中直接復制,因此本文選用 XPath 來定位節點。需要注意的是 XPath 定位的一組符合條件的節點,因此返回一個 list ,其中對應的第 0 個元素一般就是我們需要的。

基礎知識介紹完了,下面我們開始進入正題。

0x02 分析網頁

首先需要對要爬取的網頁進行分析。

我們需要爬取的網址為 http://www.xzw.com/fortune/aries/ ,在瀏覽器中打開網頁,然后在相應元素上右鍵點擊檢查,我們就可以在分割窗口中看到該元素的信息了,如下圖所示:

然后找到相應節點,右鍵就可以復制 XPath 了。

需要注意的是,XPath 定位的是某個節點,而我們需要用到的是對應節點的文本,因此需要用到 text 方法。

比如,短評這個 label 的 XPath 為:

在代碼中我們可以這么使用:

另外需要注意,有時候我們需要用到節點的屬性,比如綜合運勢為 4 星,這個就是通過節點的 style 屬性來體現的。

其中 4 星對應的 em 標簽寬度為 64px,可以通過 attrib 獲得:

這樣返回的是字符串 ,然后可以只保留數字就可以了:

0x03 代碼實現

1. 導入需要的庫

2. 發送請求

3. 將返回的數據格式化為節點樹

4. 提取節點數據

完整代碼如下:

總結

以上是生活随笔為你收集整理的python运势预测程序_Python 爬虫系列之一——每日星座运势的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。