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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬虫摸索中~~(PS:小小爬虫,何惧哉?且到明日,再看今朝。)

發(fā)布時間:2023/12/14 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬虫摸索中~~(PS:小小爬虫,何惧哉?且到明日,再看今朝。) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • 搭建環(huán)境
  • 安裝爬蟲庫
  • 爬蟲測試
    • 獲取網(wǎng)頁整體信息
      • 1.訪問目標網(wǎng)頁
      • 2.引入Requests庫獲取請求響應
      • 3.引入BeautifulSoup庫格式化處理響應數(shù)據(jù)
    • 獲取網(wǎng)頁中特定信息
      • 1.找到目標HTML標簽
      • 2.獲取目標網(wǎng)頁定位
      • 3.爬取指定數(shù)據(jù)信息

搭建環(huán)境

??在操作系統(tǒng)中安裝好Python,這里采用的是Python 3.9.9;選擇VS Code作為開發(fā)工具,安裝Python插件,方便代碼編輯和調(diào)試。

安裝爬蟲庫

??初入爬蟲世界,先要了解下今天用的常規(guī)工具庫——Requests和BeautifulSoup。
??Requests主要作用是請求網(wǎng)站獲取網(wǎng)頁數(shù)據(jù),BeautifulSoup則可以輕松解析Requests庫獲得的網(wǎng)頁信息,并把網(wǎng)頁源代碼解析為Soup文檔,便于過濾提取數(shù)據(jù)。這里簡單介紹一種安裝方法如下,其它方法請大家自行搜索。

pip install requests pip install bs4

爬蟲測試

獲取網(wǎng)頁整體信息

1.訪問目標網(wǎng)頁

??使用Chromium內(nèi)核的新版Edge瀏覽器打開任意網(wǎng)頁,下圖為網(wǎng)頁網(wǎng)頁,是一篇文章。



2.引入Requests庫獲取請求響應

??這里,我們新建一個python文件,引入Requests庫,通過requests.get()以GET方式發(fā)送請求,獲取響應信息。

import requests res = requests.get("https://*.*.*") print(res) print(res.text)

??通過print()函數(shù)將響應結果的HTTP狀態(tài)碼響應消息內(nèi)容輸出后,結果如下。可以看出,數(shù)據(jù)結構不清晰,不利于我們分析數(shù)據(jù),因此,需要對數(shù)據(jù)進行處理,方便查找分析。

3.引入BeautifulSoup庫格式化處理響應數(shù)據(jù)

??我們在原有代碼的基礎上,添加BeautifulSoup相關代碼,對Requests庫獲得的響應信息進行處理,將數(shù)據(jù)格式化,形成一個具有內(nèi)在結構的 BeautifulSoup對象。

import requests from bs4 import BeautifulSoup res = requests.get("https://*.*.*") soup = BeautifulSoup(res.text, 'html.parser') print(soup.prettify())

??通過prettify()方法可以將Beautiful Soup文檔樹格式化,以Unicode編碼輸出,每個XML/HTML標簽都獨占一行,結果如下圖所示,格式清晰,可視化效果好,方便分析。

獲取網(wǎng)頁中特定信息

??對于一個網(wǎng)頁來說,我們感興趣的往往是一部分特定信息,因此,可以利用Beautiful Soup的選擇功能篩選出感興趣的內(nèi)容,予以爬取。下面我們來看看怎么去做。

1.找到目標HTML標簽

??在網(wǎng)頁上右鍵選擇檢查,可以打開網(wǎng)頁調(diào)試工具,如下圖所示。

??點擊調(diào)試工具左上角的按鈕(如下圖所示)后,再點擊左邊網(wǎng)頁中的某個目標元素,在右邊調(diào)試部分便會高亮顯示當前元素的標簽信息。

2.獲取目標網(wǎng)頁定位

??以剛才打開的網(wǎng)頁為例,這篇文章有很多標題,假設我們想要獲取這些一級標題信息,該怎么辦呢?我們可能發(fā)現(xiàn),頁面結構比較復雜,通過上一步操作無法獲得目標的完整標簽路徑,也就是無法得到目標的準確位置,進而無法通過代碼定位選擇出我們需要的信息。這時,該怎么辦呢?其實很簡單,我們選中感興趣的某個標題,比如Unicode編碼這行,在調(diào)試器中看到這個元素的標簽信息,如下圖所示。

??此時,在該部分信息上點擊右鍵->復制->復制Selector,可以獲得目標網(wǎng)頁定位#Unicode\%E7\%BC\%96\%E7\%A0\%81。于是,我們在代碼響應信息處理部分加入以下代碼,成功得到Unicode編碼這行文章信息。

titles=soup.select('#Unicode\%E7\%BC\%96\%E7\%A0\%81') print(titles) [<h1 id="Unicode%E7%BC%96%E7%A0%81" name="Unicode%E7%BC%96%E7%A0%81">Unicode編碼</h1>]

??可是,利用這個標簽,我們無法獲得其他一級標題信息,因為在HTML中#ID信息是唯一的,就像我們利用一個人的身份證沒法找到另一個人一樣。因此,這里我們不能使用#開頭的元素ID信息。分析一級標題的標簽信息,可以知道,該元素有id、name,但兩者都有可能是網(wǎng)頁唯一的,不是一級標題的共同特點,因此,我們在調(diào)試器中將該元素的兩個屬性id、name刪除,使元素變成<h1>Unicode編碼</h1>,此時采用之前的方法,在該部分信息上點擊右鍵->復制->復制Selector,便可獲得新的目標網(wǎng)頁定位信息。

#react-root > div:nth-child(1) > div.J-body.col-body.pg-2-article > div.com-3-layout > div.layout-main > section.com-2-panel.col-2-article.J-articlePanel > div.com-markdown-collpase > div.com-markdown-collpase-main > div.rno-markdown.J-articleContent > h1:nth-child(8)

??其中,定位信息最后的h1:nth-child(8) 表示的是滿足當前選擇器條件的第8個<h1>元素。所以,我們推測,其他一級標題應該也是類似<h1>元素,因此,把nth-child(8)去掉應該就是我們要獲取的一級標題的共同路徑。

3.爬取指定數(shù)據(jù)信息

??獲得一級標題共同路徑信息后,將信息遍歷輸出,便可得到我們想要的數(shù)據(jù)信息,代碼如下。

titles=soup.select("#react-root > div:nth-child(1) > div.J-body.col-body.pg-2-article > div.com-3-layout > div.layout-main > section.com-2-panel.col-2-article.J-articlePanel > div.com-markdown-collpase > div.com-markdown-collpase-main > div.rno-markdown.J-articleContent > h1") for title in titles:print(title.get_text())

??titles參數(shù)存儲有相關元素的標簽信息,通過get_text()便可提取出該元素的文本信息,也就是最終我們感興趣的所有一級標題信息。至此,我們便完成了爬蟲第一步,雖然我們爬得很晚很慢,但我們依然有顆征服山頂?shù)男摹?加油,共勉!

概述 Unicode編碼 UTF-8 UTF-16 JavaScript中的string與DOMString 總結

總結

以上是生活随笔為你收集整理的爬虫摸索中~~(PS:小小爬虫,何惧哉?且到明日,再看今朝。)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线视频成人 | 成年人看的视频网站 | 黄页网站免费在线观看 | 国产毛片久久久久久国产毛片 | 天天操狠狠操夜夜操 | 精品人妻互换一区二区三区 | 亚洲成av人片在线观看 | 围产精品久久久久久久 | 色999视频 | 99久久久久久久久 | 久色91| 中文字幕日本一区二区 | 涩涩涩涩av | 精品国产乱码久久久久久闺蜜 | 男人影院在线 | 成年人一级片 | 91在线国产观看 | 精品免费久久久 | 色亭亭| 久久五月视频 | 黄色日批视频 | 综合网婷婷 | 99reav| 欧美自拍亚洲 | 污网站在线免费看 | 亚洲av成人一区二区国产精品 | 日韩av在线播 | 黄色片中文字幕 | 韩国一区二区三区视频 | 国产女主播在线 | 黄色污在线观看 | 国产精品成久久久久三级 | 2022av视频| 国产免费高清 | mm131丰满少妇人体欣赏图 | 97超碰总站 | 久久久久婷婷 | 国产免费观看视频 | 捅肌肌| 91在线看黄 | 一区二区三区四区在线免费观看 | 亚洲最大综合网 | 看久久 | 成人www视频 | 一级生活毛片 | 亚洲免费黄网 | 人妻天天爽夜夜爽一区二区三区 | 久久久久久av无码免费网站 | 国产精品久久久久影院 | 国产中文字幕在线 | www.啪| 日韩女人性猛交 | av成人在线播放 | 久久亚洲国产成人精品性色 | 亚洲大片免费观看 | 亚洲视频国产精品 | 久久久久久久久久久久久久久久久久久久 | 蜜桃av噜噜一区二区三区麻豆 | 免费日批视频 | 成a人v | 精品视频一二区 | jizz精品| 网站在线观看你懂的 | 午夜精品视频在线 | av中文网站 | 国产精品一区二区麻豆 | 亚洲色图15p | 少妇久久久久久被弄高潮 | 国产日本精品视频 | 日韩成人无码 | 国产免费网 | 天天看天天爽 | 岛国免费视频 | 国产女人高潮毛片 | www.蜜臀av.com | 综合亚洲色图 | 中文字幕日韩欧美一区二区 | 91禁在线动漫 | 欧美性色19p| 日韩精品一区二区av | 97超碰资源站 | 色在线免费 | 亚洲国产伊人 | 精品人妻久久久久久888不卡 | 老司机免费在线视频 | 一卡二卡在线视频 | 中文字幕高清在线免费播放 | 男女国产精品 | 国产欧美另类 | 97久久人国产精品婷婷 | 国产人妻一区二区三区四区五区六 | 亚欧三级 | av先锋资源 | 欧美tv | 亚洲美女激情视频 | 日韩特一级 | 色哟哟精品一区 | 熟女俱乐部一区二区视频在线 | 日本高清不卡一区 |