本实战项目爬取了链家网成都地区租房的信息
目录
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-互联网文档类资源-CSDN下载
|