day19-homework

day19-homework

# 使用正则爬取住房地址以及价格,并保存在excel中
from re import findall
import openpyxl
import os

import requests

res = requests.get(
    url='https://cd.zu.ke.com/zufang',
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
)
# print(res.text)
a = res.text
# name = findall(r'<a\s+title="([\u4e00-\u9fa5()]+)"', a)
area = findall(r'<a\s+target="_blank"\s+href="/zufang/\S+>([\u4e00-\u9fa5]+)</a>', a)
sm_area = findall(r'target="_blank">([\u4e00-\u9fa5]+)</a>-', a)
community = findall(r'<a\s+title="(\S+)"', a)
money = findall(r'<em>(\d+)</em>', a)
# print(area, sm_area, community, money, len(money), len(area), len(sm_area), len(community))
# address_money = []
# for i in range(len(area)):
#     address_money.append(f'{area[i]}-{sm_area[i]}-{community[i]}  ¥{money[i]}')
# print(address_money)
address = []
money_ = []
for i in range(len(area)):
    address.append(f'{area[i]}-{sm_area[i]}-{community[i]}')
    money_.append(f'¥{money[i]}')
print(address,money_)
if os.path.exists('抓取结果.xlsx'):
    workbook = openpyxl.load_workbook('抓取结果.xlsx')
else:
    workbook = openpyxl.Workbook()
if '住房信息' in workbook.sheetnames:
    sheet = workbook['住房信息']
else:
    sheet = workbook.create_sheet('住房信息')
m_row = sheet.max_row
m_col = sheet.max_column
for row in range(1, m_row + 1):
    for col in range(1, m_col + 1):
        sheet.cell(row, col).value = None

current_row = 1
sheet.cell(current_row, 1).value = '地址'
sheet.cell(current_row, 2).value = '价格'
current_row += 1
for add in address:
    sheet.cell(current_row, 1).value = add
    current_row += 1
current_row = 2
for mon in money_:
    sheet.cell(current_row, 2).value = mon
    current_row += 1
workbook.save('抓取结果.xlsx')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值