day16作业-爬取

day16作业-爬取

import requests

from re import findall

headers = {...}
response = requests.get('...', headers=headers)
response.encoding = 'utf-8'

location1 = findall(r'<a target="_blank" href="/zufang/\w+/">(\w+)', response.text)
location2 = findall(r'<a href="/zufang/\w+/" target="_blank">(\w+)', response.text)
location3 = findall(r'<a title="\w+" href="/zufang/\w+/" target="_blank">(\w+)', response.text)
locations = list(map(lambda i1, i2, i3: i1 + i2 + i3, location1, location2, location3))

area = findall(r'(\d+\.\d+㎡)', response.text)

price = findall(r'<span class="content__list--item-price"><em>(\d+)', response.text)

data = list(map(lambda lo, ar, pr: {'位置': lo, '面积': ar, '价格': pr+'元/月'}, locations, area, price))
print(data)
#yt
import requests
from re import findall
from json import dumps
import csv

#发送请求
headers = {...}

response = requests.get('... headers=headers)
#获取结果
result = response.text
print(result)

#解析数据
price = findall(r'<span class="content__list--item-price"><em>(\d+)</em>', result)

area = findall(r'(\d+\.?\d*)㎡', result)
# print(area)

addreess = findall(r'<a target="_blank" href="/zufang/[a-z]+/">([\u4e00-\u9fa5]+)</a>-<a href="/zufang/[a-z]+/" target="_blank">([\u4e00-\u9fa5]+)</a>-<a title="(.+?)"', result)
# print(addreess)

data = map(lambda i1, i2, i3: {'区': i3[0], '地址': '-'.join(i3), '价格': i1, '面积': i2}, price, area, addreess)
# print(list(data))

# with open('files/租房信息.json', 'w', encoding='utf-8') as f:
#     f.write(dumps(list(data)))


f = open('files/zf.csv', 'w', encoding='utf-8', newline='')
w = csv.DictWriter(f, ['区', '地址', '价格', '面积'])
w.writeheader()
w.writerows(list(data))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百事不可乐BOOM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值