python爬取58同城租房信息,用selenium爬取58同城租房信息(万级数据)

本文介绍了如何利用Python的selenium和BeautifulSoup库爬取58同城租房信息,包括设置无头浏览器、解析页面、提取数据、页面跳转等步骤,最终将数据写入CSV文件。
摘要由CSDN通过智能技术生成

今天想做一个58同城的爬虫,然后到页面分析一下链接,发现58同城的链接的有些参数是由js动态生成的,然后我就想偷懒了。(当然其实去js文件中找到生成式并不难),但我就是不想去找。然后就想到了selenium,各种工具都常拿出来溜溜,才能用的好!

python + selenium + (head_less)Chrome,然后用BeautifulSoup解析数据,完成了。

我们来一步步的看,首先我们要生成一个驱动器的对象吧

from selenium import webdriver

options = webdriver.ChromeOptions()

options.set_headless()

# 无头

options.add_argument('--diable-gpu')

# 禁用gpu

driver = webdriver.Chrome(options=options)

# 生成了一个无头的Chrome的驱动器对象

对了,我们还是把我们的目标截图看一下吧!

b15ca104bc41f746eb642d64031cc26f.png

框起来的部分是有js文件动态生成的参数,我们的目标是箭头指向的部分。

好了,目标给你们看了,像这样的页面一共有70页,每页有60个房子的信息(别说我骗你只有4200条数据不是万级数据,那你可以换城市呀!)

首先我们实现这个页面的爬取,看代码:

content = driver.page_source.encode('utf-8')

# 获取页面资源

Soup = BeautifulSoup(content,'lxml')

# 用BeautifulSoup库进行解析,结合BeautifulSoup

li_list = Soup.find(attrs={'class':'content'}).find_next(attrs={'class':'listUl'}).find_all('li')

# 解析

for li in li_list:

try:

if li.has_attr('logr'):

# 因为渲染过的页面上还有一种公寓的信息&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值