Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩一区二区三区不卡视频,中文字幕国产日韩,亚洲欧美日韩精品

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          「爬蟲四步走」手把手教你使用Python抓取并存儲網頁數據

          蟲是Python的一個重要的應用,使用Python爬蟲我們可以輕松的從互聯網中抓取我們想要的數據,本文將基于爬取B站視頻熱搜榜單數據并存儲為例,詳細介紹Python爬蟲的基本流程。如果你還在入門爬蟲階段或者不清楚爬蟲的具體工作流程,那么應該仔細閱讀本文!

          第一步:嘗試請求

          首先進入b站首頁,點擊排行榜并復制鏈接

          https://www.bilibili.com/ranking?spm_id_from=333.851.b_7072696d61727950616765546162.3

          現在啟動Jupyter notebook,并運行以下代碼

          import requests

          url = 'https://www.bilibili.com/ranking?spm_id_from=333.851.b_7072696d61727950616765546162.3'
          res = requests.get('url')
          print(res.status_code)
          #200

          在上面的代碼中,我們完成了下面三件事

          • 導入requests

          • 使用get方法構造請求

          • 使用status_code獲取網頁狀態碼

          可以看到返回值是200,表示服務器正常響應,這意味著我們可以繼續進行。

          第二步:解析頁面

          在上一步我們通過requests向網站請求數據后,成功得到一個包含服務器資源的Response對象,現在我們可以使用.text來查看其內容

          可以看到返回一個字符串,里面有我們需要的熱榜視頻數據,但是直接從字符串中提取內容是比較復雜且低效的,因此我們需要對其進行解析,將字符串轉換為網頁結構化數據,這樣可以很方便地查找HTML標簽以及其中的屬性和內容。

          在Python中解析網頁的方法有很多,可以使用正則表達式,也可以使用BeautifulSouppyquerylxml,本文將基于BeautifulSoup進行講解.

          Beautiful Soup是一個可以從HTML或XML文件中提取數據的第三方庫.安裝也很簡單,使用pip install bs4安裝即可,下面讓我們用一個簡單的例子說明它是怎樣工作的

          from bs4 import BeautifulSoup

          page = requests.get(url)
          soup = BeautifulSoup(page.content, 'html.parser')
          title = soup.title.text
          print(title)
          # 熱門視頻排行榜 - 嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili

          在上面的代碼中,我們通過bs4中的BeautifulSoup類將上一步得到的html格式字符串轉換為一個BeautifulSoup對象,注意在使用時需要制定一個解析器,這里使用的是html.parser

          接著就可以獲取其中的某個結構化元素及其屬性,比如使用soup.title.text獲取頁面標題,同樣可以使用soup.bodysoup.p等獲取任意需要的元素。

          第三步:提取內容

          在上面兩步中,我們分別使用requests向網頁請求數據并使用bs4解析頁面,現在來到最關鍵的步驟:如何從解析完的頁面中提取需要的內容

          Beautiful Soup中,我們可以使用find/find_all來定位元素,但我更習慣使用CSS選擇器.select,因為可以像使用CSS選擇元素一樣向下訪問DOM樹。

          現在我們用代碼講解如何從解析完的頁面中提取B站熱榜的數據,首先我們需要找到存儲數據的標簽,在榜單頁面按下F12并按照下圖指示找到

          可以看到每一個視頻信息都被包在class="rank-item"li標簽下,那么代碼就可以這樣寫


          主站蜘蛛池模板: 蜜桃AV抽搐高潮一区二区| 亚洲国产一区国产亚洲| 精品爆乳一区二区三区无码av| 正在播放国产一区| 91福利国产在线观一区二区| 亚洲国产成人久久一区WWW | 国产精品区一区二区三在线播放 | 亚洲A∨无码一区二区三区| 日本一区二区三区四区视频| 国产精品视频一区二区三区| 无码AV天堂一区二区三区| 成人免费区一区二区三区| 国产无码一区二区在线| 一区二区三区免费在线观看| 国产一区二区三区免费视频| 国产精品一区二区三区高清在线| 另类国产精品一区二区| 亚洲av成人一区二区三区观看在线| 色窝窝无码一区二区三区成人网站| 国模少妇一区二区三区| 国产午夜精品免费一区二区三区| 国产午夜毛片一区二区三区| 中文字幕在线视频一区| 中文字幕人妻丝袜乱一区三区| 国产精品亚洲产品一区二区三区| 四虎精品亚洲一区二区三区| 亚洲av无码天堂一区二区三区 | 精品一区二区久久久久久久网精| 亚洲欧洲专线一区| 精品国产一区二区三区免费看| 国产精品无码一区二区三区毛片| 亚洲AV无码片一区二区三区 | 日韩电影一区二区三区| 精品无码国产一区二区三区AV| 亚洲av乱码一区二区三区| 亚洲AV无码一区二区三区网址| 国产成人精品视频一区| 无码人妻精品一区二| 一区二区三区高清在线| 国产在线精品一区二区在线观看 | 国产成人精品一区二三区|