BeautifulSoup解析庫select方法例項——獲取企業資訊
本文內容由浙江浦江中學方春林老師提供。
Requests 是用Python語言編寫,基於urllib,採用Apache2 Licensed 開源協議的 HTTP 庫。它比 urllib 更加方便,可以節約我們大量的工作,完全滿足 HTTP 測試需求。Requests 的哲學是以PEP 20的習語為中心開發的,所以它比urllib更加Pythonic。更重要的一點是它支援 Python3 哦!
1、requests簡單用法
2、解析HTML庫——BeautifulSoup簡介
使用requests獲取的是HTML頁面,在HTML中除了html標記如<title>,<p>外,還有很多 CSS程式碼。可以使用BeautifulSoup庫解析HTML,利用BeautifulSoup物件的select方法可以篩選出css標記的內容。有如下幾種方法獲取內容:
①通過標籤名查詢
②通過類名查詢
③通過id名查詢
④組合查詢。組合查詢即和寫 class 檔案時,標籤名與類名、id名進行的組合原理是一樣的,例如查詢p標籤中,id等於link1的內容,二者不要用空格分開。
⑤屬性查詢。查詢時還可以加入屬性元素,屬性需要用中括號括起來,注意屬性和標籤屬於同一節點,所以中間不能加空格,否則會無法匹配到。不在同一節點的使用空格隔開,同一節點的不加空格。
以下面的HTML程式碼為例:
分析程式碼如下:
輸出結果如下:
3、例項:爬取https://m.tianyancha.com/search/oc35-s2/p1中企業資訊。
有了以上知識後,我們可以利用上述知識獲取企業資訊,在天眼查網站裡有各類企業資訊,開啟https://m.tianyancha.com/search/oc35-s2,如下圖是頁面資訊
我們的任務是獲取企業資訊,具體步驟如下:
1)獲取頁面資訊,用google瀏覽器開啟的頁面中右鍵開啟檢查,依次點開 network--doc--headers中的Request URL,這個地址是我們要爬取頁面的地址。
用res=requests.get(‘https://m.tianyancha.com/search/oc35-s2/’) 返回requests物件得到該頁面所有內容。
2)分析內容,獲取內容 檢視原始碼後發現我們要找企業資訊在一個“<div class="search_result_container">”容器中,可以用select方法獲取所有內容;
公司名稱在“<div class="col-xs-10 search_name pl0 pr0"><a href="/company/3565313" style="word-break:break-all;" class="query_name in-block" onclick="common.stopPropagation(event)"><span style="color:#2e2e2e;">杭叉集團股份有限公司</span></a></div>”中,而其他資訊都在<div class=”title”> 中,如下圖
參考程式碼:
程式碼執行結果:
----------相關閱讀----------
1900頁Python系列PPT分享一:基礎知識(106頁)
1900頁Python系列PPT分享二:Python序列(列表、元組、字典、集合)(154頁)
1900頁Python系列PPT分享三:選擇與迴圈結構語法及案例(96頁)
1900頁Python系列PPT分享四:字串與正規表示式(109頁)
1900頁Python系列PPT分享五:函式設計與應用(134頁)
1900頁Python系列PPT分享六:物件導向程式設計(86頁)
1900頁Python系列PPT分享七:檔案操作(132頁)
Python使用Scrapy爬蟲框架爬取天涯社群小說“大宗師”全文
Python爬蟲擴充套件庫BeautifulSoup4用法精要
淡定!不要因為納入了高考和二級考試甚至極個別小學課程就盲目誇大Python!
----------喜大普奔----------
1、董付國老師Python系列教材:
《Python程式設計基礎》
《Python程式設計(第2版)》
《Python可以這樣學》
《Python程式設計開發寶典》
《中學生可以這樣學Python》
董付國老師6本Python系列教材被北大、復旦等近百所高校選作教材
2、董老師免費視訊地址: https://pan.baidu.com/s/1jJeAs8Q 密碼: px59
相關文章
- 企業微信登入獲取使用者資訊
- Java解析微信獲取手機號資訊Java
- 在Oracle資料庫中使用XML資料獲取業務資訊XHOracle資料庫XML
- 透過Requests模組獲取網頁內容並使用BeautifulSoup進行解析網頁
- 利用requests+BeautifulSoup爬取網頁關鍵資訊網頁
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- 獲取位置資訊
- BeautifulSoup庫
- SQL Server資料庫中Substring函式的用法例項詳解SQLServer資料庫函式
- R:連結KEGG資料庫獲取更多描述資訊資料庫
- PHP物件導向程式設計中獲取物件屬性的3種方法例項分析PHP物件程式設計
- psutil獲取作業系統負載資訊作業系統負載
- 爬蟲入門系列(四):HTML 文字解析庫 BeautifulSoup爬蟲HTML
- 奇思妙想,獲取對方手機通訊錄
- 封裝type方法例項封裝
- vue+element-ui獲取select的labelVueUI
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- HGDB怎麼獲取資料庫中關鍵系統資訊資料庫
- 獲取企業裁判文書介面 - GetJudicialDocuments
- 獲取AFP服務資訊
- iOS獲取SIM卡資訊iOS
- 微信小程式呼叫騰訊地圖獲取jsonp資料 解析詳細地址資訊微信小程式地圖JSON
- 安卓sdk webview獲取淘寶個人資訊100項,原始碼。安卓WebView原始碼
- python使用cx_Oracle連線oracle資料庫獲取常用資訊PythonOracle資料庫
- BeautifulSoup4庫
- traceroute命令的用法例項分享
- torch.einsum 的用法例項
- AOP原始碼解析之二-建立AOP代理前傳,獲取AOP資訊原始碼
- 雙項榮耀|海泰方圓斬獲第二屆密碼豐會“成長力企業獎”“創新力企業獎”密碼
- 企業微信-自建H5應用授權登入獲取使用者資訊H5
- React獲取元件例項React元件
- ABL獲取XBL資訊記錄
- 獲取.crt證書的資訊
- 【Python】獲取機器使用資訊Python
- Linux: 獲取硬碟的UUID資訊Linux硬碟UI
- ipmitool獲取伺服器資訊MIT伺服器
- 使用捕獲 獲取身份證號的資訊
- 資訊爆炸時代,如何獲取優質資訊?
- 獲取商品詳情資訊API介面:1688開放平臺功能解析API