您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python爬取airbnb房源信息的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Selenium介紹
Selenium是一個用于Web應用程序測試的工具,測試直接在瀏覽器中運行,就像真實用戶所做的一樣,目前流行的自動化測試就可以靠它來實現。
而自動化測試還需要用我們的webdriver
WebDriver針對各個瀏覽器而開發,取代了嵌入到被測Web應用中的JavaScript。與瀏覽器的緊密集成支持創建更高級的測試,避免了JavaScript安全模型導致的限制。除了來自瀏覽器廠商的支持,WebDriver還利用操作系統級的調用模擬用戶輸入。
今天就是利用這兩個結合來爬取airbnb的房源信息
首先我們需要下載我們瀏覽器對應版本的WebDriver,比如我的谷歌版本
Chrome的WebDriver各個版本下載地址:http://npm.taobao.org/mirrors/chromedriver
如果是其他瀏覽器就直接去百度了
然后下載好了有一個chromedriver.exe文件,把這個文件放入你的python的Script中,這樣就能用了
Fidder是一個抓包工具,我們如果需要爬取一些動態數據,也就是我們ajax加載出來的數據,我們一般是無法直接在網頁上看到的,所以需要通過抓包工具來獲取請求地址
Fidder官網:https://www.telerik.com/fiddler
它能獲取你電腦所有發送的請求
案例demo1,爬取今日頭條的某條新聞的評論
評論一般是ajax加載出來的,所以一般是動態數據,所有首先我們需要通過抓包工具來獲取它的請求地址(因為F12獲取不到一些數據地址,所以我們需要下載抓包工具),然后才能獲取它的數據。
""" 使用sekenium獲取今日頭條新聞評論 """ 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") # 模擬瀏覽器點擊事件 loadMore.click() time.sleep(2) # 獲取數據 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文件中,可以看到,這就是一個JSON的返回數據
{'message': 'success', 'data': {'has_more': True, 'total': 106, 'comments': [{'text': '限制的是在北京居住生活而長期 駕駛非京牌車的行為。正常來京辦事不受影響。北京車牌到外地也是短期的,所以不存在外地也限制北京車的問題。', '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': '點1449308'}, 'dongtai_id': '6749103240320647171', 'user_digg': 0, 'id': '6749103240320647171'}, {'text': '舉雙手贊成
關于Python爬取airbnb房源信息的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。