这篇文章将为大家详细讲解有关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获取今日头条新闻评论"""fromseleniumimportwebdriverimporttime#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")forcontentDivincontentDivs:content=contentDiv.find_element_by_tag_name("p").textprint(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房源信息的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。