本人初學python是菜鳥級,寫的不好勿噴。
python爬蟲用了比較簡單的urllib.parse和requests,把爬來的數據顯示在地圖上。接下里我們話不多說直接上代碼:
1.安裝python環境和編輯器(自行度娘)
2.本人以58品牌公寓為例,爬取在杭州地區價格在2000-4000的公寓。
#-*- coding:utf-8 -*- from bs4 import BeautifulSoup from urllib.parse import urljoin import requests import csv import time
以上是需要引入的模塊
url = "http://hz.58.com/pinpaigongyu/pn/{page}/?minprice=2000_4000" #已完成的頁數序號,初時為0 page = 0
以上的全局變量
csv_file = open(r"c:\users\****\Desktop\houoseNew.csv","a+",newline='') csv_writer = csv.writer(csv_file, delimiter=',')
自定義某個位置來保存爬取得數據,本人把爬取得數據保存為csv格式便于編輯(其中”a+”表示可以多次累加編輯在后面插入數據,建議不要使用“wb”哦!newline=”表示沒有隔行)
while True: #為了防止網站屏蔽ip,設置了時間定時器每隔5秒爬一下。打完一局農藥差不多都爬取過來了。 time.sleep(5) page +=1 #替換URL中page變量 print (url.format(page=page)+"ok") response = requests.get(url.format(page=page)) html=BeautifulSoup(response.text) #尋找html中DOM節點li house_list = html.select(".list > li") # 循環在讀不到新的房源時結束 if not house_list: break for house in house_list: #根據hml的DOM節點獲取自己需要的數據 house_title = house.select("h2")[0].string house_url = urljoin(url, house.select("a")[0]["href"]) house_pic = urljoin(url, house.select("img")[0]["lazy_src"]) house_info_list = house_title.split() # 如果第一列是公寓名 則取第二列作為地址 if "公寓" in house_info_list[0] or "青年社區" in house_info_list[0]: house_location = house_info_list[0] else: house_location = house_info_list[1] house_money = house.select(".money")[0].select("b")[0].string csv_writer.writerow([house_title, house_location, house_money,house_pic ,house_url]) #最后不要忘記關閉節流 csv_file.close()
如果網站屏蔽了你的ip,你可以做一個ip地址數組放在http的頭部具體度娘一下吧。
接下來我們寫html
只是簡單的寫了一下寫的不好見諒。用的是高德地圖,具體的js api可以到高德開發者上去看。
公交+地鐵 地鐵 走路 騎車
想要獲取完整的代碼github:https://github.com/DIVIBEAR/pythonDemo.git
新手上路,老司機們勿噴!
以上所述是小編給大家介紹的python爬蟲租房信息在地圖上顯示的方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
