萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 用Python程序抓取網頁的HTML信息的一個小實例

用Python程序抓取網頁的HTML信息的一個小實例

   這篇文章主要介紹了用Python程序抓取網頁的HTML信息的一個小實例,用到的方法同時也是用Python編寫爬蟲的基礎,需要的朋友可以參考下

  抓取網頁數據的思路有好多種,一般有:直接代碼請求http、模擬浏覽器請求數據(通常需要登錄驗證)、控制浏覽器實現數據抓取等。這篇不考慮復雜情況,放一個讀取簡單網頁數據的小例子:

  目標數據

  將ittf網站上這個頁面上所有這些選手的超鏈接保存下來。

201552150315618.png (600×587)

  數據請求

  真的很喜歡符合人類思維的庫,比如requests,如果是要直接拿網頁文本,一句話搞定:

  ?

1 doc = requests.get(url).text

  解析html獲得數據

  以beautifulsoup為例,包含獲取標簽、鏈接,以及根據html層次結構遍歷等方法。參考見這裡。下面這個片段,從ittf網站上獲取指定頁面上指定位置的鏈接。

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 url = 'http://www.ittf.com/ittf_ranking/WR_Table_3_A2.asp?Age_category_1=&Age_category_2=&Age_category_3=&Age_category_4=&Age_category_5=&Category =100W&Cont=&Country=&Gender=W&Month1=4&Year1=2015&s_Player_Name=&Formv_WR_Table_3_ Page='+str(page) doc = requests.get(url).text soup = BeautifulSoup(doc) atags = soup.find_all('a') rank_link_pre = 'http://www.ittf.com/ittf_ranking/'   mlfile = open(linkfile,'a') for atag in atags: #print atag if atag!=None and atag.get('href') != None: if "WR_Table_3_A2_Details.asp" in atag['href']: link = rank_link_pre + atag['href'] links.append(link) mlfile.write(link+'n') print 'fetch link: '+link mlfile.close()

        注< >:更多精彩教程請關注三聯編程

copyright © 萬盛學電腦網 all rights reserved