Python爬虫实战之五:requests-re多页爬取链家成都地区租房市场信息

本实战项目爬取了链家网成都地区租房的信息

目录

1.爬取目标

2.爬取连接

3.技术路线

4.代码及输出模块

单页爬取全代码

多页爬取核心代码

5.总结

 全代码文件见:


1.爬取目标

链家网发布的房屋数据信息主要包括二手房、新房、租房、海外、商业办公等。

这次爬取目标是租房市场信息,地区选择成都,筛选具体字段包括‘小区名称’,‘价格’,‘面积’。

2.爬取连接

https://cd.lianjia.com/zufang/

因为本次爬取是多页爬取,所以在翻页之后需要对url进行页数拼接

3.技术路线

requests:网页文本爬取工具;
re:正则表达式库,对需要匹配的数据进行匹配抽取;
time:爬取页面时,设置停顿时间,避免爬取过程中被网页识别为爬虫;
random:随机数,设置具体随机停顿的长度,控制速率;
pandas:整理清洗,使数据排列整齐;

4.代码及输出模块

单页爬取全代码

#单页爬取,完整代码
import requests
import pandas as pd
import re
url='https://cd.lianjia.com/zufang/'
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
response=requests.get(url, headers=header)
html= response.text
if response.status_code==200:
#单独提取每个小区的信息
    regex=re.compile('title="(.*?)">\n.*?([0-9.]+)㎡\n.*?<em>([0-9.]+)</em> 元/月',re.DOTALL)
    data=regex.findall(html) #找出面积
    data_house=pd.DataFrame(data)
    data_house.columns=['小区名字','面积','价格']
data_house

多页爬取核心代码

   print('正在爬取第%d页'%(i))
#     爬取成都链家网租房信息
    baseurl='https://cd.lianjia.com/zufang/pg'
    url=baseurl+str(i)+'/#contentList'
    Agent = random.choice(Agents)
    header = {'User-Agent':Agent}
    print(url)
    response = requests.get(url, headers=header)
    html= response.text
    if response.status_code==200:
        #单独提取每个小区的信息
        regex=re.compile('title="(.*?)">\n.*?([0-9.]+)㎡\n.*?<em>([0-9.]+)</em> 元/月',re.DOTALL)
        data=regex.findall(html) #找出面积
        data_house=pd.DataFrame(data)
    # 每次随机休息1-5秒
        time.sleep(random.randint(1,5))

 

5.总结

 全代码文件见:

Python爬虫实战之五:requests-re多页爬取链家成都地区租房市场信息.ipynb-互联网文档类资源-优快云下载

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

miracle2me

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

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

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

打赏作者

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

抵扣说明:

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

余额充值