1. 程式人生 > >爬蟲,爬取鏈家網北京二手房資訊

爬蟲,爬取鏈家網北京二手房資訊

# 鏈家網二手房資訊爬取
import re
import time
import requests
import pandas as pd
from bs4 import BeautifulSoup

url = 'http://bj.lianjia.com/ershoufang/'
page = ('pg')
#設定請求頭部資訊
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding':'gzip',
'Connection':'close',
'Referer':'http://www.baidu.com/link?url=_andhfsjjjKRgEWkj7i9cFmYYGsisrnm2A-TN3XZDQXxvGsM9k9ZZSnikW2Yds4s&wd=&eqid=c3435a7d00146bd600000003582bfd1f'
}

#迴圈抓取列表頁資訊
for i in range(1, 3):
     if i == 1:
          i = str(i)
          a = (url + page + i + '/')
          r = requests.get(url = a, headers = headers)
          html = r.content
     else:
          i = str(i)
          a = (url + page + i + '/')
          r = requests.get(url = a,headers = headers)
          html2 = r.content
          html = html + html2
     #每次間隔1秒
     time.sleep(0.5)

#解析抓取的頁面內容
lj = BeautifulSoup(html,'html.parser')

clears = lj.find_all('li', attrs = {'class':'clear'})
houseInfo = []
guanzhuInfo = []
daikanInfo = []
timeInfo = []
subwayInfo = []
positionInfo = []
totalpriceInfo = []

for clear in clears:
     houseInfo.append(clear.find('div', 'houseInfo').get_text())

     guanzhuInfo.append(clear.find(text = re.compile('人關注'))) #很關鍵,哈哈哈
     daikanInfo.append(clear.find(text = re.compile('次帶看')))

     timeInfo.append(clear.find('div', 'timeInfo').get_text())

     temp = clear.find('span', 'subway')
     if temp is None:
          subwayInfo.append('')
     else:
          subwayInfo.append(temp.get_text())

     positionInfo.append(clear.find('div', 'positionInfo').get_text())
     totalpriceInfo.append(clear.find('div', 'totalPrice').get_text())

data = {
     'houseInfo': houseInfo, 
     'guanzhuInfo':guanzhuInfo, 'daikanInfo':daikanInfo,
     'timeInfo':timeInfo, 'subwayInfo':subwayInfo, 'positionInfo':positionInfo, 'totalpriceInfo':totalpriceInfo
}
frame = pd.DataFrame(data, columns = ['houseInfo', 'guanzhuInfo', 'daikanInfo', 'timeInfo', 'subwayInfo', 'positionInfo', 'totalpriceInfo'])
# print(frame.head())

# split
houseInfo_split = pd.DataFrame((x.split('/') for x in frame.houseInfo), index = frame.index, 
     columns = ['xiaoqu', 'huxing', 'mianji', 'chaoxiang', 'zhuangxiu', 'dianti'])
positionInfo_split = pd.DataFrame((x.split('/') for x in frame.positionInfo), index = frame.index,
     columns = ['ceng', 'nian', 'position'])

# merge
del frame['houseInfo']
del frame['positionInfo']
split = pd.merge(houseInfo_split, positionInfo_split, right_index = True, left_index = True)
house = pd.merge(frame, split, right_index = True, left_index = True)
print(house.head())
house.to_csv('house.csv')

相關推薦

爬蟲北京二手資訊

# 鏈家網二手房資訊爬取 import re import time import requests import pandas as pd from bs4 import BeautifulSoup url = 'http://bj.lianjia.com/ershouf

scrapy實戰(一)-------------二手資訊

主要是通過scrapy爬取二手房相關資訊,只關心ershoufang相關連結,原始碼地址: 程式碼更新: 1.增加了爬取已成交房產的資訊,用於做為目標樣本來預測未成交房屋的價格。 2.資料通過pip

python爬蟲深圳全部二手的詳細信息

data sts rip 二手房 lse area 列表 dom bubuko 1、問題描述: 爬取鏈家深圳全部二手房的詳細信息,並將爬取的數據存儲到CSV文件中 2、思路分析: (1)目標網址:https://sz.lianjia.com/ershoufang/ (2

北京房源及房價分析

                     爬取鏈家網北京房源及房價分析 文章開始把我喜歡的這句話送個大家:這個世界上還有什麼比自己寫的程式碼執行在一億人的電腦上更酷的事情嗎,如果有那就是

初識Scrapy框架+爬蟲實戰(7)-100頁租房資訊

Scrapy簡介 Scrapy,Python開發的一個快速、高層次的螢幕抓取和web抓取框架,用於抓取web站點並從頁面中提取結構化的資料。Scrapy用途廣泛,可以用於資料探勘、監測和自動化測試。Scrapy吸引人的地方在於它是一個框架,任何人都可以根

Python爬蟲三:抓已成交二手資訊(58W資料)

環境:Windows7+python3.6+Pycharm2017 目標:抓取鏈家北京地區已成交二手房資訊(無需登入),如下圖,戶型、朝向、成交時間價格等,儲存到csv。最後一共抓取約58W資料,程式執行8h。 --------全部文章: 京東爬蟲 、鏈家爬蟲、美團爬蟲、

python 學習 - 爬蟲入門練習 二手資訊

import requests from bs4 import BeautifulSoup import sqlite3 conn = sqlite3.connect("test.db") c = conn.cursor() for num in range(1,101): url = "h

利用高德API + Python租房資訊 01

看了實驗樓的專案發現五八同城爬取還是有點難度所以轉戰鏈家 實驗程式碼如下 from bs4 import BeautifulSoup from urllib.request import urlopen import csv url = 'https://gz.lia

Python爬蟲專案--熱門城市新房

本次實戰是利用爬蟲爬取鏈家的新房(宣告: 內容僅用於學習交流, 請勿用作商業用途) 環境 win8, python 3.7, pycharm 正文 1. 目標網站分析 通過分析, 找出相關url, 確定請求方式, 是否存在js加密等. 2. 新建scrapy專案 1. 在cmd命令列視窗中輸入以

Python的scrapy之房價資訊並儲存到本地

因為有在北京租房的打算,於是上網瀏覽了一下鏈家網站的房價,想將他們爬取下來,並儲存到本地。 先看鏈家網的原始碼。。房價資訊 都儲存在 ul 下的li 裡面 ​   爬蟲結構: ​ 其中封裝了一個數據庫處理模組,還有一個user-agent池。。   先看mylian

Python的scrapy之房價信息並保存到本地

width gif pat lse idt ext tst maximum spa 因為有在北京租房的打算,於是上網瀏覽了一下鏈家網站的房價,想將他們爬取下來,並保存到本地。 先看鏈家網的源碼。。房價信息 都保存在 ul 下的li 裏面 ? 爬蟲結構: ? 其中封裝了一

運用scrapy房價並儲存到本地

因為有在北京租房的打算,於是上網瀏覽了一下鏈家網站的房價,想將他們爬取下來,並儲存到本地。 先看鏈家網的原始碼。。房價資訊 都儲存在 ul 下的li 裡面   爬蟲結構:  其中封裝了一個數據庫處理模組,還有一個user-agent池。。  

資料採集(四):用XPath房價資料

準備工作 編寫爬蟲前的準備工作,我們需要匯入用到的庫,這裡主要使用的是requests和lxml兩個。還有一個Time庫,負責設定每次抓取的休息時間。 import requests import requests import time from lxml

python搭建簡單爬蟲框架獵聘的招聘職位資訊

該專案將主要有五個部分負責完成爬取任務,分別是:URL管理器,HTML下載器,HTML解析器,資料儲存器,爬蟲排程器。 具體程式碼如下: URL管理器: import hashlib import pickle import time class UrlManag

Scrapy實戰篇(二)之成交房源數據(下)

html win64 4.0 https set 爬蟲 使用 創建 鼓樓區 在上一小節中,我們已經提取到了房源的具體信息,這一節中,我們主要是對提取到的數據進行後續的處理,以及進行相關的設置。 數據處理 我們這裏以把數據存儲到mongo數據庫為例。編寫pipelines.p

Scrapy實戰篇(一)之成交房源數據(上)

meta pat 分割 自定義 是不是 rom 創建 開始 mat 今天,我們就以鏈家網南京地區為例,來學習爬取鏈家網的成交房源數據。 這裏推薦使用火狐瀏覽器,並且安裝firebug和firepath兩款插件,你會發現,這兩款插件會給我們後續的數據提取帶來很大的方便。 首先

Python3爬蟲大眾點評北京所有酒店評分資訊

學習Python3爬蟲實戰:爬取大眾點評網某地區所有酒店相關資訊,我爬取的北京地區的酒店,由於網站更新,原文中的一些方法已經不再適用,我的工作是在該文指導下重寫了一個爬蟲。 爬蟲無非分為這幾塊:分析目標、下載頁面、解析頁面、儲存內容,其中下載頁面不提。

租房資訊(萬級資料的簡單實現)

這不是一個很難的專案,沒有ajax請求,也沒有用框架,只是一個requests請求和BeautifulSoup的解析 不過,看這段程式碼你會發現,BeautifulSoup不止只有find和fing_all用於元素定位,還有fing_next等其他的更簡單的,

Scrapy實戰篇(九)之天津租房數據

房子 爬取 思路 頁面 scrapy more 關心 分析 網上   以後有可能會在天津租房子,所以想將鏈家網上面天津的租房數據抓下來,以供分析使用。   思路:   1、以初始鏈接https://tj.lianjia.com/zufang/rt200600000001

【R語言 爬蟲】用R爬蟲杭州安居客九堡租房資訊

在當今網際網路時代,資料要會挖,得先學會爬!爬的過程是痛苦的,因為在計算機程式開發領域,網路爬蟲的開發是一個很專業的方向,技術門檻比較高,它所要求的綜合知識很多,相信很多同學都望而卻步了。別急,說話說到