Python抓取網(wǎng)頁內(nèi)容應(yīng)用代碼分析
我們今天將會通過這篇文章,為大家詳細(xì)介紹一下Python抓取網(wǎng)頁內(nèi)容的兩種不同方法。大家可以以此為參考對象,在實(shí)際應(yīng)用中選擇一種適合自己的應(yīng)用方式來幫助我們完成實(shí)際開發(fā)中的需求。
Python抓取網(wǎng)頁內(nèi)容方法一、用urllib2/sgmllib包,將目標(biāo)網(wǎng)頁的所有URL列出。
- import urllib2
- from sgmllib import SGMLParser
- class URLLister(SGMLParser):
- def reset(self):
- SGMLParser.reset(self)
- self.urls = []
- def start_a(self, attrs):
- href = [v for k, v in attrs if k=='href']
- if href:
- self.urls.extend(href)
- f = urllib2.urlopen("http://www.donews.com/")
- if f.code == 200:
- parser = URLLister()
- parser.feed(f.read())
- f.close()
- for url in parser.urls: print url
Python抓取網(wǎng)頁內(nèi)容方法二、用python調(diào)用IE抓取目標(biāo)網(wǎng)頁(Require win32com, pythoncom)的所有圖像的url和大小
- import win32com.client, pythoncom
- import time
- ie = win32com.client.DispatchEx('InternetExplorer.Application.1')
- ie.Visible = 1
- ie.Navigate("http://news.sina.com.cn")
- while ie.Busy:
- time.sleep(0.05)
- doc = ie.Document
- for i in doc.images:
- print i.src, i.width, i.height
這種方法可以利用IE本身的Javascript. DHTML的支持,來做自動提交Form,和處理Javascript。
以上就是我們?yōu)榇蠹医榻B的Python抓取網(wǎng)頁內(nèi)容的兩種不同的方法。
【編輯推薦】