python爬蟲(chóng)當(dāng)前主要使用的庫(kù)
1.builtwith
主要用來(lái)查看構(gòu)建網(wǎng)站使用了哪些技術(shù)
安裝方法
pip install builtwith
>>> import builtwith
>>> builtwith.parse('http://www.github.com')
{u'web-frameworks': [u'Twitter Bootstrap']}
2.urllib2
想要爬取網(wǎng)頁(yè),需要先下載網(wǎng)頁(yè)的內(nèi)容,urllib2就是用來(lái)抓取網(wǎng)頁(yè)內(nèi)容的.
>>> urllib2.urlopen("http://www.kuaidi100.com/query?type=quanfengkuaidi&postid=390011492112").read()
'{"message":"\xe5\xbf\xab\xe9\x80\x92\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\x82\xe6\x95\xb0\xe5\xbc\x82\xe5\xb8\xb8\xef\xbc\x9a\xe5\x8d\x95\xe5\x8f\xb7\xe4\xb8\x8d\xe5\xad\x98\xe5\x9c\xa8\xe6\x88\x96\xe8\x80\x85\xe5\xb7\xb2\xe7\xbb\x8f\xe8\xbf\x87\xe6\x9c\x9f","nu":"","ischeck":"0","condition":"","com":"","status":"201","state":"0","data":[]}'
3.第一個(gè)python網(wǎng)絡(luò)爬蟲(chóng)
下面這10幾行代碼已經(jīng)是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲(chóng).
def Download(url, retrynum=2):
"""抓取網(wǎng)頁(yè), retrynum=[500,600)錯(cuò)誤重試次數(shù)"""
print 'Downloading:', url
try:
html = urllib2.urlopen(url).read()
except urllib2.URLError as e:
print 'Download error:', e.reason
html = None
if retrynum > 0:
if hasattr(e, 'code') and 500 <= e.code < 600:
html = Download(url, retrynum-1)
return html
Download("http://www.baidu.com")
4.總結(jié)
這個(gè)是一個(gè)爬蟲(chóng)的系列文章,這篇文章只是一個(gè)最簡(jiǎn)單的爬蟲(chóng)的代碼,我們會(huì)采取由淺到深的這個(gè)一個(gè)方式來(lái)寫(xiě)這個(gè)系列,希望大家多多關(guān)注.github源代碼
最后
- 項(xiàng)目的代碼的github地址webrobot
- 有什么問(wèn)題加微博討論van1988ch
- 最后介紹一個(gè)阿里云的活動(dòng),購(gòu)買(mǎi)阿里云vps2018.03.28-04.13 期間,阿里云的新用戶「可以在這里參團(tuán)」以 279 元購(gòu)買(mǎi) 3 年的云服務(wù)器良拼!(或者99/年敢茁、189/2年可選)卫袒。機(jī)器配置同樣是 1 核CPU、2G 內(nèi)存捶码、1M 寬帶磨德,但比騰訊云更強(qiáng)的是它配備了 40G 的 SSD 固態(tài)硬盤(pán)。拿來(lái)做測(cè)試機(jī)搭建wordpress博客還是非常劃算的