python爬虫爬取贝壳网上动态加载的数据

本文介绍了如何使用Python爬虫抓取贝壳网上动态加载的房源带看数据。通过分析Chrome浏览器的XHR请求,发现数据以JSON格式异步加载。通过发送请求获取JSON文件,然后解析提取所需信息。还简要概述了Chrome开发者工具的Network面板在爬虫中的应用。
摘要由CSDN通过智能技术生成

一、背景思路

爬取贝壳上二手房信息时,想要将对应房源近一个月的带看信息弄下来,看看哪些房源热度最高。结果毫无意外,简单粗暴的BeautifulSoup+select无法将这部分信息弄下来,如下图,如果带看记录过多,页面是通过按钮控制切换的,静态页面上最多只有当前3个带看信息。

一般像这种在局部页面点击能进行数据更新,而网页的url不会变化的,大概率都是通过异步加载(AJAX)进行数据更新。沿着这个思路观察了一下,果真在XHR中找到了这部分信息(关于chrome浏览器下的XHR、JS等,下面第三部分会介绍的哈),AJAX实现异步更新是Json,所以接下来只需想办法把相应的json文件弄下来,就能提取到想要的信息了。

二、先上代码再说

首先在XHR找到对应请求的的url,用requests.get()发送请求,再用json.load()下载json信息,接下来就按在字典里提取值的方法进行数据提取了


                
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的Python爬虫爬取网页数据并解析数据的教程: 1. 确定目标网站和要爬取的信息 首先,需要确定要爬取的网站和要提取的信息。可以使用Python的requests库向网站发送HTTP请求获取HTML源代码,并使用BeautifulSoup库解析HTML文档获取目标数据。 例如,我们要爬取CSDN博客的文章标题和链接,可以先打开CSDN博客主页,右键查看网页源代码,找到文章标题和链接所在的HTML标签。 2. 发送HTTP请求获取HTML源代码 接下来,使用Python的requests库向网站发送HTTP请求,获取HTML源代码。 ``` import requests url = 'https://blog.csdn.net/' response = requests.get(url) html = response.text ``` 3. 解析HTML文档获取目标数据 使用BeautifulSoup库解析HTML文档,获取目标数据。 ``` from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser') titles = soup.find_all('div', class_='title') for title in titles: link = title.find('a').get('href') title_text = title.find('a').text.strip() print(title_text, link) ``` 上述代码,通过`find_all`方法找到所有class属性为"title"的div标签,然后在每个div标签找到第一个a标签,获取链接和标题文本。 4. 完整代码 ``` import requests from bs4 import BeautifulSoup url = 'https://blog.csdn.net/' response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') titles = soup.find_all('div', class_='title') for title in titles: link = title.find('a').get('href') title_text = title.find('a').text.strip() print(title_text, link) ``` 以上就是一个简单的Python爬虫爬取网页数据并解析数据的教程。需要注意的是,在爬取网站数据时要遵守网站的爬虫协议,避免被网站封禁IP。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值