python 頁面資訊抓取

來源:互聯網
上載者:User

標籤:python   網頁資訊提取   bs4   

1. 特點

  在python 解析html這篇文章中已經做了初步的介紹,接下來再坐進一步的說明。python抓取頁面資訊有以下兩個特點:
  

  • 依賴於HTML的架構。

  • 微小的變化可能會導致抓取失敗,這取決於你編碼的技巧。

2. 抓取樣本

  首先看一下百度視頻網頁的原始碼,大致瀏覽下,選定要抓取的網頁元素。
  
  
  假設我們要對div標籤id為focusCarouselList裡的相關內容進行提取。首先進入python命令列環境,先按照以下代碼開啟網頁並讀取內容。
  

>>>
>>> import urllib
>>> from bs4 import BeautifulSoup
>>>
>>> httpRespone = urllib.urlopen(“http://video.baidu.com“)
>>>
>>> httpRespone.code
200
>>>

  將頁面資訊讀入到html的一個變數中:html = httpRespone.read()
  使用BeautifulSoup解析這個頁面:bs = BeautifulSoup(html,"lxml")
  尋找id為ocusCarouselList的div標籤:focusList = bs.find(‘div‘,id=‘focusCarouselList‘)
  
  
  
  在focusList中尋找這一div中所有的超連結:allLinks = focusList.find_all(‘a‘)
  可用allLinks[0]直接存取第一個連結的內容:
  
  
  如果要在這些超連結中尋找標題為“協警押送嫌犯遭其同夥襲擊”,可用下面代碼:
  videoLink1 = bs.find(‘a‘,{‘title‘:‘協警押送嫌犯遭其同夥襲擊‘})
  
  
  videoLink1[‘href’]可以直接擷取到連結的地址。
  
  尋找所有圖片的標籤:imgLinks = focusList.find_all(‘img‘)
  擷取某個圖片連結的源地址:imgLinks[0][‘src‘]
  

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

python 頁面資訊抓取

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.