网站首页 > 博客文章 正文
爬取内容:获取房源信息,包括朝向,户型,面积,价格等,并把内容保存在excel中。
效果图:
准备工作:需要准备三个python库,分别为如下:
(1)requests库:主要是为了获取网页中数据信息
(2)BeautifulSoup库:主要是将获取到的信息转换为xml文件
(3)lxmt:主要将生成的list数据存入到excel表格中
第一部分:
获取房源信息:
def GetHouseInfoList(url):
house = []
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}
# 从网页获取信息
res = requests.get(url, headers=headers)
# 解析内容
soup = BeautifulSoup(res.content, 'html.parser')
# 房源title
housename_divs = soup.find_all('div', class_='title')
for housename_div in housename_divs:
housename_as = housename_div.find_all('a')
for housename_a in housename_as:
# 标题
houseName = []
houseName.append(housename_a.get_text())
houseName.append(housename_a.get('href'))
house.append(houseName)
huseinfo_divs = soup.find_all('div', class_='houseInfo')
for i in range(len(huseinfo_divs)):
info = huseinfo_divs[i].get_text()
infos = info.split('|')
house[i].append(infos[0])
house[i].append(infos[1])
house[i].append(infos[2])
house_prices = soup.find_all('div', class_='totalPrice')
for i in range(len(house_prices)):
# 价格
price = house_prices[i].get_text()
house[i].append(price)
return house
requests.get(url, headers=headers):从网页中获取数据
soup = BeautifulSoup(res.content, 'html.parser'):将网页的内容转化成html数据格式,方便后面数据的解析
soup.find_all('div', class_='title'):主要是去获取标签为div,属性为class,属性值为title的xml数据,这部分不懂的同学可以看看xml语法,比较简单
第二部分:
将生成的house信息存入到excel表格中:
def WriteToExcel(path,house):
workBook = xlwt.Workbook()
sheet = workBook.add_sheet('houseInfo')
row0 = ['标题','链接','户型','面积', '朝向','总价']
for i in range(len(row0)):
sheet.write(0,i,row0[i])
for i in range(len(house)):
houseInfo = house[i]
for j in range(len(houseInfo)):
sheet.write(i+1,j,houseInfo[j])
workBook.save(path)
xlwt.Workbook():创建一个工作簿
workBook.add_sheet('houseInfo'):在工作簿里面创建一个sheet
sheet.write(i+1,j,houseInfo[j]):将houseInfo[j]数据写入到sheet的第i+1行第j列
第三部分:
主函数入口:
if __name__ == '__main__':
url = 'https://sjz.lianjia.com/ershoufang/hy1f2f5sf1l3l2l4a2a3a4/'
house = GetHouseInfoList(url)
WriteToExcel('D:/HouseInfo.xls',house)
for houseInfo in house:
print(houseInfo)
这个是整个爬取数据的过程,重点要学会以下几点:
(1)python如何获取网页数据并转化为html
(2)python中的函数如何读取到xml对应标签和属性的数据
(3)python中如何将数据写入到excel表格中
有疑问的可以私信我,一起交流答疑解惑
猜你喜欢
- 2024-10-24 python处理excel文件03:xlwt模块写入excel文件
- 2024-10-24 经验 | Python 读写 Excel 文件第三方库汇总
- 2024-10-24 python实现爬取豆瓣电影Top250(python爬取豆瓣电影的流程)
- 2024-10-24 Python如何操作Excel,xlrd和xlwt类库的使用
- 2024-10-24 如何用Python读写Excel文件?最便捷的3种方式
- 2024-10-24 安全服务日常工作之大量端口状态扫描
- 2024-10-24 Python操作Excel库xlrd与xlwt常用操作详解
- 2024-10-24 Python读写Excel表格,就是这么简单粗暴又好用
- 2024-10-24 Python学习之爬取网页信息(python爬取网页数据步骤)
- 2024-10-24 pandas + xlwt制作格式化报表遇到的两个问题
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)