摘要:是包里最有名的分解工具之一。簡單易用安裝注意大小寫,而且不要安裝,因為代表,已經停止更新。而不同的變量的使用方法也需要注意。類型可遍歷字符串類型類型增刪改標簽參考使用改變網頁內容修改標簽內容
BeautifulSoup是Python包里最有名的HTML parser分解工具之一。簡單易用安裝:
pip install beautifulsoup4
注意大小寫,而且不要安裝BeautifulSoup,因為BeautifulSoup代表3.0,已經停止更新。
常用語法參考我之前的文章:BeautifulSoup :一些常用功能的使用和測試
# 創建實例 soup = BeautifulSoup(html, "html5lib")選擇器
根據不同的網頁,選擇器的使用會很不同:
絕大部分下使用CSS選擇器select()就足夠了
如果按照標簽屬性名查找,而屬性名中有-等特殊字符,那么就只能使用find()選擇器了。
# 最佳選擇器: CSS選擇器(返回tag list) results = soup.select("div[class*=hello_world] ~ div") for tag in results: print(tag.string) #print the tag"s html string # print(tag.get_text()) #print its inner text #單TAG精確選擇器:返回單個tag. tag = soup.find("div", attrs={"class": "detail-block"}) print(tag.get_text()) # 多Tag精確選擇器: 返回的是text,不是tag results = soup.find_all("div", attrs={"class": "detail-block"}) # 多class選擇器(標簽含有多個Class),重點是"class*=" results = soup.select("div[class*=hello_world] ~ div")獲取值
tag = soup.find("a") # 只獲取標簽的文本內容 text = tag.get_text() # 獲取標簽的全部內容(如 asdfa) s = tag.string # 獲取標簽的屬性 link = tag["href"]修改值
參考:Beautiful Soup(四)--修改文檔樹
tag = soup.find("a", attrs={"class": "detail-block"}) #修改屬性 tag["href"] = "https://google.com" # 修改內容對象類型.. 中間的內容 tag.string = "New Content" # 刪除屬性 del tag["class"]
在我們使用選擇器搜索各類tag標簽時,BeautifulSoup會根據使用的函數而返回不同類型的變量。而不同的變量的使用方法也需要注意。
Tag類型(
tag.string
tag.get_text()
可遍歷字符串類型(bs4.element.NavigableString):
Comment類型(
參考:使用BeautifulSoup改變網頁內容
# 修改標簽內容 tag = soup.find("title") tag.string = "New Title"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43079.html
摘要:在不懂和等協議的情況下,我直接打個比方來解釋一下什么是請求,以瀏覽器為例,人在瀏覽器輸入,然后敲擊鍵,直到頁面出現,整個過程,我們可以抽象為我們向百度服務器發起的一次請求。更專業,更詳細的解釋,自己去百度學習吧。 前言 ??剛學完python基礎,想學習爬蟲的新手,這里有你想要的東西。??本文著重點在于教新手如何學習爬蟲,并且會以外行人的思維進行形象地講解。最近我一兄弟想學,我就想寫個...
摘要:優化編寫一鍵安裝的腳本由于的系統默認都是,如果服務器需要用環境的話每臺都得手動操作升級,工作量比較大,編寫腳本提升效率。 安裝依賴的庫 yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel libxslt-devel Python =====...
摘要:所以這篇文章就來研究一下自帶的打包系統。打包項目下面就進入本文的正題,的打包系統上。基本上我們不需要完全了解打包系統,只要學會簡單的幾個點就可以打包自己的類庫了。版本號下面是開發測測發布候選最終發布等情況的版本號實例。 最近把pyenv、pipenv這種都研究了一下,然后我發現一個嚴重的問題:就是我雖然看了半天這些工具,但是我對Python自己的打包系統卻完全沒有了解。所以這篇文章就來...
摘要:剛學爬蟲不久,迫不及待的找了一個網站練手,新筆趣閣一個小說網站。繼續學習,有改進方案的歡迎提出來,一起交流。 剛學Python爬蟲不久,迫不及待的找了一個網站練手,新筆趣閣:一個小說網站。 前提準備 安裝Python以及必要的模塊(requests,bs4),不了解requests和bs4的同學可以去官網看個大概之后再回來看教程 爬蟲思路 剛開始寫爬蟲的小白都有一個疑問,進行到什么時候...
摘要:爬取糗百內容代碼地址微信公眾號智能制造社區,歡迎關注。爬蟲程序一般是通過模擬瀏覽器對相應發出請求,獲取數據,并通過正則等手段匹配出頁面中我們所需的數據。庫基本介紹是學習爬蟲的一大利器。 爬取糗百內容 GitHub 代碼地址https://github.com/injetlee/Python/blob/master/qiubai_crawer.py 微信公眾號:【智能制造社區】,歡迎關注...
閱讀 1415·2023-04-26 01:58
閱讀 2294·2021-11-04 16:04
閱讀 1783·2021-08-31 09:42
閱讀 1774·2021-07-25 21:37
閱讀 1074·2019-08-30 15:54
閱讀 2079·2019-08-30 15:53
閱讀 3057·2019-08-29 13:28
閱讀 2696·2019-08-29 10:56