这篇文章将为大家详细讲解有关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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。