python爬房源信息_Python:爬取airbnb房源信息(Selenium)

cad168cd06f82f1f1361183499728806.png

Selenium介绍

620eaf40adbb7a456d0c01d6a160b503.png

Selenium是一个用于Web应用程序测试的工具,测试直接在浏览器中运行,就像真实用户所做的一样,目前流行的自动化测试就可以靠它来实现。

而自动化测试还需要用我们的webdriver

WebDriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver还利用操作系统级的调用模拟用户输入。

今天就是利用这两个结合来爬取airbnb的房源信息

首先我们需要下载我们浏览器对应版本的WebDriver,比如我的谷歌版本

6e484795e00d9ff41fe23ad1d5a34c04.png

Chrome的WebDriver各个版本下载地址:http://npm.taobao.org/mirrors/chromedriver

如果是其他浏览器就直接去百度了

然后下载好了有一个chromedriver.exe文件,把这个文件放入你的python的Script中,这样就能用了

11ca9268363d4281a02b701a520072ae.png

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':

'举双手赞成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值