久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用Python寫簡單爬蟲

 啊羊的書店 2013-02-24

用Python寫簡單爬蟲

[ ] 來源: cloga.info 評論: 1條評論 分享至:

百度權重查詢 站長交易 友情鏈接交換 網站監(jiān)控 服務器監(jiān)控 SEO監(jiān)控

Python提供了許多Module,,通過這些Module,,可以很簡單的做一些工作,。比如,,要獲得cloga這個詞在百度搜索結果頁中的排名結果(排名結果+URL),這就是一個很簡單的爬蟲需求,。

首先,,要通過urllib2這個Module獲得對應的HTML源碼。

import urllib2
url='http://www.baidu.com/s?wd=cloga'
content=urllib2.urlopen(url).read()

通過上面這三句就可以將URL的源碼存在content變量中,,其類型為字符型,。

接下來是要從這堆HTML源碼中提取我們需要的內容。用Chrome查看一下對應的內容的代碼(也可以用Firefox的Firebug),。

可以看到url的信息存儲在span標簽中,,要獲取其中的信息可以用正則式。

import re
urls_pat=re.compile(r'<span class="g">(.*?)</span>')
siteUrls=re.findall(results_pat,content)

re.compile是將字符串編譯為用于python正則式的模式,,字符前的r表示是純字符,,這樣就不需要對元字符進行兩次轉義。re.findall返回的是字符串中符合results_pat的列表,,由于在results_pat中使用了子表達式,,所以results存儲的就是子表達式所匹配的內容,即<span>與</span>之間的內容,。

此外,,也可以用BeautifulSoup這個Module來獲得提取同樣的信息。直接從源碼中用正則式提取信息適用于那些按照標準寫的HTML頁面,,BeautifulSoup則可以處理一些編寫不規(guī)范的頁面,。

from BeautifulSoup import BeautifulSoup
soup=BeautifulSoup(content)
siteUrls=soup.findAll('span',attrs={'class':'g'})

BeautifulSoup()可以把剛才抓到的字符串轉化為Beautiful的對象,。這樣就可以應用BeautifulSoup提供的一些方法處理HTML。比如,,findAll('a')就可以返回一個所有頁面的a標簽的List,,我覺得這個和JS里面的getElementByTagName挺像的。另外也可以指定attrs參數(shù),,這個參數(shù)就是一個篩選條件,,其數(shù)據結構是一個字典。findAll('span',attrs={'class':'g'})的意思就是返回所有class='g'的span標簽的內容(包括span標簽自身),。

用正則式和BeautifulSoup獲得內容還需要進一步處理,,因為其中包含html標簽。類似,,hi.baidu.com/<b>cloga</b> 2010-8-29或者<span> hi.baidu.com/<b>cloga</b> 2010-8-29 </span>,,同樣可以用正則式的sub方法替換掉這些標簽。

strip_tag_pat=re.compile(r'<.*?>')
file=open('results000.csv','w')
for i in results:
    i0=re.sub(strip_tag_pat,'',i)
    i0=i0.strip()
    i1=i0.split(' ')
    date=i1[-1]
    siteUrl=''.join(i1[:-1])
    rank+=1
    file.write(date+','+siteUrl+','+str(rank)+'\n')
file.close()

再來就是把對應的結果輸出到文件中,,比如,,排名、URL,、收入日期這樣的形式,。OK,這樣就用Python實現(xiàn)了一個簡單的爬蟲需求,。秀一下上面代碼的輸出,。

Result

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多