900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Python爬虫实战之五:requests-re多页爬取链家成都地区租房市场信息

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

时间:2024-04-18 11:21:55

相关推荐

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

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

目录

1.爬取目标

2.爬取连接

3.技术路线

4.代码及输出模块

单页爬取全代码

多页爬取核心代码

5.总结

全代码文件见:

1.爬取目标

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

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

2.爬取连接

/zufang/

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

3.技术路线

requests:网页文本爬取工具;

re:正则表达式库,对需要匹配的数据进行匹配抽取;

time:爬取页面时,设置停顿时间,避免爬取过程中被网页识别为爬虫;

random:随机数,设置具体随机停顿的长度,控制速率;

pandas:整理清洗,使数据排列整齐;

4.代码及输出模块

单页爬取全代码

#单页爬取,完整代码import requestsimport pandas as pdimport reurl='/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.textif response.status_code==200:#单独提取每个小区的信息regex=pile('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='/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.textif response.status_code==200:#单独提取每个小区的信息regex=pile('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-互联网文档类资源-CSDN下载

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。