Python抓取上海各地區房價平均值

2021-07-03 06:14:54 字數 2802 閱讀 6278

昨天用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...