溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python爬取airbnb房源信息的方法

發(fā)布時(shí)間:2020-08-04 14:00:04 來源:億速云 閱讀:329 作者:清晨 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)Python爬取airbnb房源信息的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Selenium介紹

Python爬取airbnb房源信息的方法

Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,測(cè)試直接在瀏覽器中運(yùn)行,就像真實(shí)用戶所做的一樣,目前流行的自動(dòng)化測(cè)試就可以靠它來實(shí)現(xiàn)。

而自動(dòng)化測(cè)試還需要用我們的webdriver

WebDriver針對(duì)各個(gè)瀏覽器而開發(fā),取代了嵌入到被測(cè)Web應(yīng)用中的JavaScript。與瀏覽器的緊密集成支持創(chuàng)建更高級(jí)的測(cè)試,避免了JavaScript安全模型導(dǎo)致的限制。除了來自瀏覽器廠商的支持,WebDriver還利用操作系統(tǒng)級(jí)的調(diào)用模擬用戶輸入。

今天就是利用這兩個(gè)結(jié)合來爬取airbnb的房源信息

首先我們需要下載我們?yōu)g覽器對(duì)應(yīng)版本的WebDriver,比如我的谷歌版本

Python爬取airbnb房源信息的方法

Chrome的WebDriver各個(gè)版本下載地址:http://npm.taobao.org/mirrors/chromedriver

如果是其他瀏覽器就直接去百度了

然后下載好了有一個(gè)chromedriver.exe文件,把這個(gè)文件放入你的python的Script中,這樣就能用了

Python爬取airbnb房源信息的方法

Fidder是一個(gè)抓包工具,我們?nèi)绻枰廊∫恍﹦?dòng)態(tài)數(shù)據(jù),也就是我們ajax加載出來的數(shù)據(jù),我們一般是無法直接在網(wǎng)頁上看到的,所以需要通過抓包工具來獲取請(qǐng)求地址

Fidder官網(wǎng):https://www.telerik.com/fiddler

它能獲取你電腦所有發(fā)送的請(qǐng)求

案例demo1,爬取今日頭條的某條新聞的評(píng)論

評(píng)論一般是ajax加載出來的,所以一般是動(dòng)態(tài)數(shù)據(jù),所有首先我們需要通過抓包工具來獲取它的請(qǐng)求地址(因?yàn)镕12獲取不到一些數(shù)據(jù)地址,所以我們需要下載抓包工具),然后才能獲取它的數(shù)據(jù)。

"""
使用sekenium獲取今日頭條新聞評(píng)論
"""
from selenium import webdriver
import time
# options = webdriver.ChromeOptions()
# options.add_argument("--headless")
driver = webdriver.Chrome()
driver.get("https://www.toutiao.com/group/6749399264998212110/")
# 獲取 加載更多 超鏈接
loadMore = driver.find_element_by_css_selector("a.c-load-more")
# 模擬瀏覽器點(diǎn)擊事件
loadMore.click()
time.sleep(2)
# 獲取數(shù)據(jù)
contentDivs = driver.find_elements_by_css_selector("div.c-content")
for contentDiv in contentDivs:
    content = contentDiv.find_element_by_tag_name("p").text
    print(content)

然后存入了我們的text文件中,可以看到,這就是一個(gè)JSON的返回?cái)?shù)據(jù)

{'message': 'success', 'data': {'has_more': True, 'total': 106, 'comments': [{'text': '限制的是在北京居住生活而長(zhǎng)期
駕駛非京牌車的行為。正常來京辦事不受影響。北京車牌到外地也是短期的,所以不存在外地也限制北京車的問題。', 
'digg_count': 615, 'reply_data': {'reply_list': []}, 'reply_count': 0, 'create_time': 1571398213, 'user': 
{'avatar_url': 'https://sf1-ttcdn-tos.pstatp.com/img/mosaic-legacy/3796/2975850990~120x256.image', 'user_id': 
100388200396, 'name': '人間正道的絲路花雨'}, 'dongtai_id': '6749103925351350275', 'user_digg': 0, 'id': 
'6749103925351350275'}, {'text': '支持,早該限制外地牌照,就像北京的房子,外地人來京就租房子,如果您來就蓋房這地方
就沒辦法生活了', 'digg_count': 686, 'reply_data': {'reply_list': []}, 'reply_count': 0, 'create_time': 1571398053, 
'user': {'avatar_url': 'https://p3.pstatp.com/thumb/dafd0002dc655e0d9151', 'user_id': 52617043834, 'name': 
'點(diǎn)1449308'}, 'dongtai_id': '6749103240320647171', 'user_digg': 0, 'id': '6749103240320647171'}, {'text': 
'舉雙手贊成

關(guān)于Python爬取airbnb房源信息的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI