爬虫(二)selenium爬二手房

本文介绍了如何利用selenium规避验证码爬取58同城广州二手房信息,并通过pyecharts进行数据可视化。首先,详细讲解了安装和配置chromedriver的过程,接着介绍了通过观察网页URL规律获取不同页面。然后,确定了抓取地区和价格的xpath路径,以及计算平均价格的方法。最后,展示了如何用pyecharts绘制地图并生成HTML文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我决定爬房价。因为原本的教程,后面也是爬58同城,我也就跟着爬了。不过这次,我是基本都改了。

其实一开始很快就写好了,但是第二页开始就要输入验证码了。我查了下,说selenium可以规避这个问题,我就去安装了这个库。但是还有很多得需要提前安装。 (代码在最下面)

chromedriver

下载地址:http://chromedriver.storage.googleapis.com/index.html

我点开进去后,想着自己的谷歌是最新版本的就直接拉到最下面了。结果扑街了,2.9是2014年发布的。然后我浏览器是version67的,逐个点击了选择最新的,2.41。

解压在谷歌浏览器的目录下面。右键快捷方式 ,打开文件所在位置就好了。是一个Application的文件夹。先复制目录,等会会用到。

然后右击‘此电脑’(WIN10)–>属性–>左侧的高级系统设置–>环境变量–>看到下面有个系统变量。

点击新建,变量名随便写个’chromedrive’,然后浏览目录,选择刚才那个复制的目录(Application)。最后保存。

pyecharts

pyecharts是python的可视化库。我们需要按照这个库之后需要下载地图。有:

pip install echarts-countries-pypkg          # 国家地图
pip install echarts-china-provinces-pypkg    # 省的地图
pip install echarts-china-cities-pypkg       # 市的地图

我只下载了市的,因为只用来爬广州的。

了解网页结构

比如我们想要抓取广州的数据,我们可以有:http://gz.58.com/ershoufang/?PGTID=0d200001-0000-3c62-f0fc-52c0419c4d8e&ClickID=2

嗯,看起来这个url杂乱无章。但是你点击第二页就会发现它是这样的:http://gz.58.com/ershoufang/pn2/?PGTID=0d30000c-0000-3859-164a-750fda376cbf&ClickID=1

然后第三页是这样的:http://gz.58.com/ershoufang/pn3/?PGTID=0d30000c-0000-3945-5408-f27d29243517&ClickID=1

emmm,都有pn,那就试下:http://gz.58.com/ershoufang/pn1/ 。成功了!!!这是第一页的网页。祝贺。
所有第i页就是:http://gz.58.com/ershoufang/pn + str(i)

接着按照之前的方法看我们要抓取的数据的标签分别是什么。

这里写图片描述
这里写图片描述

我们要抓地区还有每平方的价格。查看之后的结果是

/html/body/div[5]/div[5]/div[1]/ul/li[1]/div[2]/p[2]/span/a[2] (地区,district)
/html/body/div[5]/div[5]/div[1]/ul/li[1]/div[3]/p[2] (价格,price)

因为位于的<div>不同,所以在抓取的时候我们还是要先抓<li>

开始爬数据
from bs4 import BeautifulSoup
from selenium import webdriver
from pyecharts import Map
import re

driver = webdriver.Chrome(executable_path='C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe')
map_district = {}

这是要用的package。 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值