Python实现采集某二手房源数据并做数据可视化展示
目录
-
-
- 环境介绍:
- 模块使用:
- 实现爬虫思路:
-
- 代码
-
环境介绍:
- Python 3.8
- Pycharm
模块使用:
-
requests >>> pip install requests 数据请求模块
-
parsel >>> pip install parsel 数据解析模块
-
csv 内置模块
实现爬虫思路:
-
明确需求<采集目标网站、需要的数据有哪些>
-
发送请求, 对应分析得到url
-
获取数据, 网页源代码 <比较多, 比较杂乱>
-
解析数据, 提取我们想要的数据内容 <精简之后, 想要的数据>
-
保存数据, 保存表格文件
更多python资料、源码、教程皆可点击文章下方名片获取此处跳转
代码
- 导入数据请求模块
pip install requests
import requests
- 导入数据解析模块
pip install parsel
import parsel
- 导入csv
import csv
f = open('data100.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['标题','小区名字','地段','总价','单价','户型','面积','朝向','装修','楼层','架构','时间','详情页',
])
csv_writer.writeheader()
发送请求, 模拟浏览器对url<网址/链接>, 发送请求 <完成>
1. 链接
2. 模拟浏览器
3. 发送请求
for page in range(1, 101):print(f'正在采集第{page}页的数据内容')
response = requests.get(url=url, headers=headers)# <Response [200]> 请求成功print(response)html_data = response.text```
selector = parsel.Selector(html_data)
# 把所有房源数据标签获取下来
lis = selector.css('.sellListContent li .info')
# 把所有房源数据, 一个一个提取出来
for li in lis:# 提取标题title = li.css('.title a::text').get()# 提取小区和地段area_info = li.css('.positionInfo a::text').getall()"""list index out of range area_info[0] --> area_info
area_1 = area_info[0] # 小区名字area_2 = area_info[1] # 地段Price = li.css('.totalPrice span::text').get() # 总价unitPrice = li.css('.unitPrice span::text').get() # 单价houseInfo = li.css('.houseInfo::text').get() # 信息if len(houseInfo.split(' | ')) == 7:date = houseInfo.split(' | ')[5] # 时间else:date = ''house_type = houseInfo.split(' | ')[0] # 户型house_area = houseInfo.split(' | ')[1] # 面积face = houseInfo.split(' | ')[2] # 朝向renovation = houseInfo.split(' | ')[3] # 装修fool = houseInfo.split(' | ')[4] # 楼层framework = houseInfo.split(' | ')[-1] # 架构link = li.css('.title a::attr(href)').get() # 详情页dit = {'标题': title,'小区名字': area_1,'地段': area_2,'总价': Price,'单价': unitPrice,'户型': house_type,'面积': house_area,'朝向': face,'装修': renovation,'楼层': fool,'架构': framework,'时间': date,'详情页': link,}csv_writer.writerow(dit)print(dit)
最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方获取呀👇👇👇
本文所有模块\\环境\\源码\\教程皆可点击此处跳转免费领