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

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

目录

1.爬取目标

2.爬取连接

3.技术路线

4.代码及输出模块

单页爬取全代码

多页爬取核心代码

5.总结

 全代码文件见:


1.爬取目标

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

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

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

2.爬取连接

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

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

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

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.*?([0-9.]+) 元/月',re.DOTALL)
    data=regex.findall(html) #找出面积
    data_house=pd.DataFrame(data)
    data_house.columns=['小区名字','面积','价格']
data_house

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

多页爬取核心代码

   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.*?([0-9.]+) 元/月',re.DOTALL)
        data=regex.findall(html) #找出面积
        data_house=pd.DataFrame(data)
    # 每次随机休息1-5秒
        time.sleep(random.randint(1,5))

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

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

5.总结

 全代码文件见:

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

你可能感兴趣的:(Python爬虫学习笔记,爬虫,python,数据挖掘)