Python爬蟲之Beautiful Soup方法選擇器

2021-01-11 一起學python

find_all( )方法續講

上一節我們介紹了find_all( )方法,它是查詢所有符合條件的元素的,我們傳入一些屬性和文本進行,就可以得到符合條件的元素,它的功能十分強大,我們也介紹了它的API:find_all(name. attrs, recusive, text, **kwargs)

1.attrs

上一節中,我們詳細介紹了依靠根據節點名來查詢,這一節我們講介紹根據一些屬性來查詢,示例如下:

運行結果如下:

這裡查詢的時候傳入的是attrs參數,參數的類型是字典類型。比如,要查詢id為list-1的節點,可以傳入attrs={'id':'list-1'}的查詢條件,得到的結果是列表形式,包含的內容就是符合id為list-1的所有節點。在上面的例子中,符合條件的元素個數是1,所以結果長度是為1的列表。

對於一些常用的屬性,比如id和class等,我們可以不用attrs來傳遞。比如,要查詢id為list-1的節點,可以直接傳入id這個參數。還是上面的文本,我們換一種方式來查詢:

運行結果如下:

這裡直接傳入id='list-1',就可以查詢id為list-1的節點元素了。而對於class來說,由於class在python中是一個關鍵字,所以後面需要加上一個下劃線,即class_='element',返回的結果依然還是Tag組成的列表。

2.text

text參數可以用來匹配節點的文本,傳入的形式可以是字符串,可以是正則表達式對象,示例如下:

運行結果如下:

這裡有兩個a節點,其內部包含文本信息。這裡在find_all( )方法中傳入text參數,該參數為正則表達式對象,結果返回所有匹配正則表達式的節點文本組成的列表。

find( )

除了前面的find_all( )方法,還有find( )方法,只不過後者返回的是單個元素,也就是第一個匹配的元素,而前者返回的是所有匹配的元素組成的列表。示例如下:

運行結果如下:

這裡的返回結果不再是列表形式,而是第一個匹配的節點元素,類型依然是Tag類型。

另外,還有許多查詢方法,其用法與前面介紹的find_all( )、find( )方法完全相同,只不過查詢範圍不同,這裡簡單地對其進行說明:

find_parents( )和find_parent( ):前者返回所有祖先節點,後者返回直接父節點find_next_siblings( )和find_next_sibling( ):前者返回後面所有的兄弟節點,後者返回後面第一個兄弟節點。find_previous_siblings( )和find_previous_sibling( ):前者返回前面所有的兄弟節點,後者返回前面第一個兄弟節點。find_all_next( )和find_next( ):前者返回節點後所有符合條件的節點,後者返回第一個符合條件的節點。find_all_previous( )和find_previous( ):前面返回節點前所有符合條件的節點,後者返回第一個符合條件的節點。

相關焦點

  • 5分鐘快速學習掌握python爬蟲Beautifulsoup解析網頁
    python爬蟲用Beatifulsoup庫解析網頁提取所需元素新手看懂個人觀點:之前我們有講過爬蟲和網頁的一些聯繫,網頁的一些組成部分,爬蟲就是對網頁裡面的數據進行提取然後對其進行數據處理,篩選出所需部分,供需要者使用。
  • 騰訊視頻 Python 爬蟲項目實戰
    項目地址:https://github.com/yangrq1018/vqq-douban-film依賴需要如下Python包:requestsbs4 - Beautiful souppandas就這些,不需要複雜的自動化爬蟲架構,簡單而且常用的包就夠了。
  • Python爬蟲學習:抓取電影網站內容的爬蟲
    根據視頻所有分類的URL獲取網站中所有視頻分類騰訊的所有視頻的URL為:http://v.qq.com/list/1_-1_-1_-1_1_0_0_20_0_-1_0.html首先我們import urllib2包,封裝一個讀取url中html的方法,詳細代碼如下:導入需要的模塊並定義全局變量: # -*- coding
  • Python3.6安裝BeautifulSoup4模塊
    首先要確保自己的python3.6運行正常?何為運行正常呢?就是你在cmd後出現的「黑屏幕」上直接輸入python然後出現下面的界面就是正確的了。然後我們安裝的話,需要在 直接進入的cmd裡面進行安裝,而非python3.6環境中我們關閉上面的python3.6環境。重新cmd,進入「黑屏幕」。
  • BeautifulSoup
    # <title>The Dormouse's story</title>soup.title.name# u'title'soup.title.string# u'The Dormouse's story'soup.title.parent.name# u'head'soup.p# <p class="title"><b>The Dormouse's
  • Python爬蟲數據抓取方法匯總!所有方法都在此!
    1、python進行網頁數據抓取有兩種方式:一種是直接依據url連結來拼接使用get方法得到內容,一種是構建post
  • python爬蟲GUI工具,tkinter網易雲歌單歌曲下載器
    網易雲音樂應該是不少網際網路人使用的聽歌神器,不管是從界面還是從互動設計上,雖然現在很多歌曲因為版權下架了,但是並不妨礙粉絲使用及對它的喜愛,剛好刷吾愛破解,看到有大佬分享網易雲歌單歌曲下載器,網易雲歌單歌曲下載器,注意,不能下載灰色歌曲(版權歌曲),只能下載公開的歌曲,大家看著使用吧,僅供參考和學習使用,想要獲取更多歌曲,還是建議付費吧,支持正版!
  • 編寫你的第一個爬蟲程序
    因此,對於未來想進入中高級數據分析相關領域的朋友,掌握爬蟲就成為了必要不充分條件。《論語》有云:工欲善其事,必先利其器。市面上很多爬蟲類教程書籍,包括我非常喜歡的O』REILLY系列書籍,基本上都是以urllib、beautifulSoup等python庫入手。這些庫雖然功能強大,也具備一定的簡潔性,但是對於初學者而言,可以做的事真的比較少。
  • Python漫畫爬蟲——漫畫喵的100行代碼逆襲
    這次的博客,講的是使用python編寫一個爬蟲工具。為什麼要寫這個爬蟲呢?
  • python爬蟲收入 - CSDN
    個人爬蟲掙錢方法大致如下爬蟲技術掙錢方法1:接外包爬蟲項目這是網絡爬蟲最通常的的掙錢方式,通過外包網站,熟人關係接一個個中小規模的爬蟲項目,一般向甲方提供數據抓取,數據結構化,數據清洗等服務。美國學生也懶,老猿09年接觸freelancer時,上面還有美國學生python作業沒完成,在freelancer上花60美刀找人幫忙做作業。做外包越來越難,做的人太多,網上能接爬蟲外包的人從在校大學生、兩鬢白髮的老猿,到幾個人團隊作戰都在搶幾千元一個的項目,交付時間又很緊,你如果沒有客戶資源,現成的解決方案,和穩定,高效率的爬蟲技術來支撐,是搶不到好單的。
  • Python網頁爬蟲工具有哪些?
    不管文本處理,機器學習和數據發掘,都需求數據,除了通過一些途徑購買或者下載的專業數據外,常常需求我們自己著手爬數據,爬蟲就顯得分外重要。那麼,Python網頁爬蟲東西有哪些呢?1、ScrapyScrapy相Scrapy, a fast high-level screen scraping and web crawling framework for Python.信不少同學都有耳聞,課程圖譜中的許多課程都是依託Scrapy抓去的,這方面的介紹文章有許多,引薦大牛pluskid早年的一篇文章:《Scrapy 輕鬆定製網絡爬蟲》,歷久彌新。
  • python為什麼叫爬蟲?為啥那麼多人通過python兼職都能掙不少錢?
    Python能做什麼之前有很多文章介紹python能做什麼。今天介紹python爬蟲的學習。網絡爬蟲 網絡爬蟲,也叫網絡蜘蛛(Web Spider)。爬蟲是根據網頁地址(URL)爬取網頁上的內容,這裡說的網頁地址(URL)就是我們在瀏覽器中輸入的網站連結。例如:https://www.baidu.com/,這就是一個URL。
  • 初學者如何用「python爬蟲」技術抓取網頁數據?
    而這裡的「技術手段」就是指網絡爬蟲。 今天,小編將與您分享一個爬蟲的基本知識和入門教程:什麼是爬蟲?網絡爬蟲,也叫作網絡數據採集,是指通過編程從Web伺服器請求數據(HTML表單),然後解析HTML以提取所需的數據。
  • 人生苦短,我用Python
    Python入門教程Python能做什麼網絡爬蟲Web應用開發系統網絡運維科學與數字計算圖形界面開發網絡編程自然語言處理(NLP)人工智慧區塊鏈多不勝舉。。。Python入門爬蟲這是我的第一個python項目,在這裡與大家分享出來~需求設計開始我們將解析的功能放在了服務端,但是後來考慮到用戶隱私問題。後來將解析功能放到了app端,服務端只負責收集數據,然後將新數據發送給app端。關於服務端主要是分離出兩個功能,一、響應app端請求返回數據。二、爬取數據,存入資料庫。
  • 開課吧Python:Python爬蟲是什麼?爬蟲工程師薪資怎麼樣?
    Python爬蟲是什麼?Python爬蟲是什麼?Python爬蟲是由Python程序開發的網絡爬蟲(webspider,webrobot),是按照一定規則自動抓取全球資訊網信息的程序或腳本。為什麼需要用爬蟲?你可以想像一個場景:你在微博上崇拜一個名人,被他的微博迷住了。你要把他這十年微博裡的每一句話都摘抄下來。這個時候你會怎麼做?手動上Ctrl+C和Ctrl+V?這個方法是對的。在數據量很小的情況下我們還是可以這樣做的,但是在數據數千的情況下你還是要這樣做嗎?爬蟲技術可以輕鬆解決問題。
  • Python爬蟲學到什麼程度就可以去找工作了?
    有朋友在群裡和大家討論,問的最多的問題就是,python 爬蟲學到什麼程度可以去找工作了,關於這點,和大家分享下我的理解。確立目標、了解需求首先我們要先定位自己的目標,當然我們先以爬蟲工程師來做個說明。
  • Python 爬蟲實踐:《戰狼2》豆瓣影評分析
    目標總覽主要做了三件事:使用的python版本是3.5.一、抓取網頁數據第一步要對網頁進行訪問,python中使用的是urllib庫。在python中使用BeautifulSoup庫進行html代碼的解析。(註:如果沒有安裝此庫,則使用pip install BeautifulSoup進行安裝即可!)
  • Python爬取某個18禁網站的電影資源
    開發環境: python3.6.1+window64+idea14使用到的第三方庫:pymysql xlrd xlwt xlutils beautifulsoup requests聲明一個爬蟲類Crawer,requests負責抓取目標網頁信息獲取到目標信息後,使用beautifulsoup解析判斷添加到資料庫,這裡我們只添加到xls,最終文件想要的私聊
  • Python 爬蟲實戰:貓眼電影
    作者:AJ-Gordon,數據分析師一枚,對爬蟲,機器學習,數據可視化,數據建模均有所涉獵。
  • 多種方法爬取貓眼電影並分析(附代碼)
    作者:蘇克,零基礎轉行python爬蟲與數據分析博客:https://www.makcyun.top摘要: 作為小白,爬蟲可以說是入門python最快和最容易獲得成就感的途徑。因為初級爬蟲的套路相對固定,常見的方法只有幾種,比較好上手。