本实战项目爬取了链家网成都地区租房的信息
目录
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下载