昨天用python寫了乙個抓取上海地區二手房**的程式,python2.7,資料來自趕集網。由於在趕集網檢視房價不需要登入,所以程式也十分簡單。程式**如下:
# -*- coding:utf-8 -*-
import requests
import re
#本程式用於抓取趕集網上海各地區二手房房價均值,預設抓取頁數為50頁。
#使用python語言,requests庫抓取網頁,re庫用於正則抓取。
print
"本程式用於計算趕集上海二手區房價,單位萬/平公尺"
print ('''每個區對應**如下:
0:顯示上海所有區單獨的平均房價;
1:浦東新區;
2:閔行區;
3:徐匯區;
4:長寧區;
5:普陀區;
6:靜安區;
7:盧灣區;
8:黃浦區;
9:閘北區;
a:虹口區;
b:楊浦區;
c:寶山區;
d:嘉定區;
e:青浦區;
f:松江區;
g:金山區;
h:奉賢區;
i:南匯區;
j:崇明區;
k:上海周邊;
''')
#各地區頁面**
num_area =
#各地區顯示**
area =
#獲得房價均值函式
defget_price
(numb):
sp_list =
for n in range(1,50): #抓取前50頁
url = num_area[numb]+str(n)
urlpage = requests.get(url)
urlpage.encoding = 'utf-8'
urltx = urlpage.text
size_price = re.findall(u'(\d+)\u33a1.*?(\d+)\u4e07\u5143',urltx,re.s)#從頁面獲取房價和面積
for sp in size_price:
priclist =
sum_pric = 0
i = 0
for sizepri in sp_list:#計算平均房價
pric = round(float(sizepri[1])/float(sizepri[0]),2)
#print pric
sum_pric = sum_pric + pric
i = i + 1
print (area[numb]+"共獲取二手房數量:"+str(i)+",平均房價為:"+str(round(float(sum_pric)/float(i),2))+"萬元每平方")
#獲取輸入區域
defget_area
(): print('')
areanum = str(raw_input("請輸入需要查詢的區**,可一次輸入多個**:"))
if str(0) in areanum:#輸入有0則計算全部區域
for numbe in ('1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k'):
get_price(numbe)
else:#輸入無0則計算輸入區域
for numb in ('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k'):
if str(numb) in areanum:
print numb
get_price(numb)
get_area()
**託管在:
不過由於趕集網二手房的內容基本都是廣告,而且應該是官方合作的廣告,因為所有頁的資料都一直在變動。不過這不妨礙我們用它練手。當前抓取到的**如下:
浦東新區共獲取二手房數量:655,平均房價為:3.35萬元每平方
閔行區共獲取二手房數量:640,平均房價為:2.52萬元每平方
徐匯區共獲取二手房數量:640,平均房價為:3.95萬元每平方
長寧區共獲取二手房數量:643,平均房價為:3.57萬元每平方
普陀區共獲取二手房數量:647,平均房價為:2.91萬元每平方
靜安區共獲取二手房數量:559,平均房價為:5.19萬元每平方
盧灣區共獲取二手房數量:576,平均房價為:4.86萬元每平方
黃浦區共獲取二手房數量:638,平均房價為:4.42萬元每平方
閘北區共獲取二手房數量:640,平均房價為:3.23萬元每平方
虹口區共獲取二手房數量:641,平均房價為:3.15萬元每平方
楊浦區共獲取二手房數量:647,平均房價為:3.1萬元每平方
寶山區共獲取二手房數量:650,平均房價為:2.16萬元每平方
嘉定區共獲取二手房數量:644,平均房價為:1.47萬元每平方
青浦區共獲取二手房數量:641,平均房價為:1.51萬元每平方
松江區共獲取二手房數量:640,平均房價為:1.68萬元每平方
金山區共獲取二手房數量:638,平均房價為:0.81萬元每平方
奉賢區共獲取二手房數量:638,平均房價為:2.98萬元每平方
南匯區共獲取二手房數量:640,平均房價為:1.9萬元每平方
崇明區共獲取二手房數量:637,平均房價為:0.91萬元每平方
上海周邊共獲取二手房數量:647,平均房價為:0.61萬元每平方
Python抓取網頁
在python中,使用urllib2這個元件來抓取網頁。coding utf 8 urllib2是python的乙個獲取urls uniform resource locators 的元件。import urllib2 它以urlopen函式的形式提供了乙個非常簡單的介面 response urll...
Python抓取小說
這個指令碼命令mac在抓取 寫,使用python它有幾個碼。coding utf 8 import re import urllib2 import chardet import sys from bs4 import beautifulsoup import codecs class spider...
Python網頁抓取
coding utf 8 import urllib 匯入模組 print dir urllib 檢視urllib方法 print help urllib.urlopen 檢視幫助文件 url 定義 html urllib.urlopen url 開啟url print html.read urlo...