赞
踩
利用python爬取链家网二手房数据
1.包括标题,位置,布局,总价,均价
2实现按城市名称爬取
3.实现按指定页数爬取
4.爬取的数据必须存入exceI表格
5.可使用scrapy或者selenium
6.数据量不少于1000条
网址:长沙二手房房源_长沙二手房出售|买卖|交易信息(长沙链家) (lianjia.com)
首先进入链家网页,点击二手房,进入二手房页面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wxMeRa5p-1666849945450)(C:\Users\16611\Desktop\新建文件夹 (2)]\wpsE48.tmp.jpg)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3t9Co3x-1666849945451)(C:\Users\16611\Desktop\新建文件夹 (2)]\wpsAC3F.tmp.jpg)
右键点击检查,点击二手房标签跳转元素位置并赋值其xpath,其他所需数据重复操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cz6U8IYT-1666849945452)(C:\Users\16611\Desktop\新建文件夹 (2)]\wps1886.tmp.jpg)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n7SoQHaY-1666849945453)(C:\Users\16611\Desktop\新建文件夹 (2)]\wps6B6A.tmp.jpg)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ZoxzZPg-1666849945454)(C:\Users\16611\Desktop\新建文件夹 (2)]\wpsC821.tmp.jpg)
接下来用xpath获取这一页的数据,观察规律并修改xpath即可,其他数据重复操作即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3GR9CHz1-1666849945455)(C:\Users\16611\Desktop\新建文件夹 (2)]\wps5E82.tmp.jpg)
该网页将用selenium抓取所需数据
目标链接:https://cs.lianjia.com/ershoufang/
导入模块和添加无头参数
# 导入所需模块
from selenium import webdriver
import time
# 无界面模式
options = webdriver.ChromeOptions()
# #开启无界面模式,给对象添加无头参数
options.add_argument('--headless') # 添加无头参数
driver = webdriver.Chrome(options=options)
观察翻页url规律并设置指定页码爬取
# 观察翻页之后的url,找出规律
# https://cs.lianjia.com/ershoufang/第一页
# https://cs.lianjia.com/ershoufang/pg2/第二页
# https://cs.lianjia.com/ershoufang/pg3/第三页
# 找出规律:变化参数pgx
# 设置需要爬取的页数
n=eval(input('请输入您要爬取的页数:'))
逐次用selenium进入链接,抓取每页的数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s7icd4Q9-1666849945456)(C:\Users\16611\AppData\Roaming\Typora\typora-user-images\1644588550152.png)]
# 用selenium进入链接
driver.(f'https://cs.lianjia.com/ershoufang/pg{
1}/')#链接
# 用selenium的xpath获取所需数据,并存入空列表
#标题
ele=driver.find_elements_by_xpath('//*[@id="content"]/div[1]/ul/li[*]/div[1]/div[1]/a')
用xpath提取这一页数据,并存入空列表
ele=driver.find_elements_by_xpath('//*[@id="content"]/div[1]/ul/li[*]/div[1]/div[1]/a')
for one in ele:
print(one.text)
listone.append(one.text)
将数据存入excel表格中
# # 保存数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。