requests:是一个Python第三方库,编写爬虫和测试服务器响应数据时经常会用到
安装pip install requests
数据爬虫流程
- 确定需求
- 数据来源
- 网站分析
- 编写爬虫代码
- 数据提取
- 存储数据
- 需求:代码实现爬取链家租房价格信息
- 请求地址
import requests
base_url='https://bj.lianjia.com/zufang/'
- 模拟发送请求头(伪装游览器)
header={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Saf
ari/537.36"}
- 发送求情
response=requests.get(base_url,headers=header)
- 获取网站返回的内容
text=response.text
- 提取数据
#xpath 通过路径获取想要的数据 xml一种数据结构 展示数据
#json json存储数据
#安装lxml包 pip install lxml
from lxml import etree
# xpath的使用
#实例化对象
html=etree.HTML(text)
# 编写路径规则
# / 根 // 当前路径
title=html.xpath('//p[@class="content__list--item--title twoline"]/a/text()')
print(title,sep=' ')
money=html.xpath('//span[@class="content__list--item-price"]/em/text()')
print(money)
结果
['\n 整租?房山超级蜂巢 1室1厅 西 ', '\n 整租?管庄西里 2室1厅 南/北 ', '\n 整租
?熔炼厂宿舍 1室1厅 南 ', '\n 整租?红松园小区 3室1厅 南/北 ', '\n 整租?模式口西里 2室1厅 南 ', '\n 整租?远洋一方润园6号院 2室1厅 东/西 ', '\n 整租?右安门内西街甲2号院 1室1厅 南 ', '\n 整租?建新南区 2室1厅 西/北 ', '\n 整租?东泽园 2室1厅 南 ', '\n 整租?馨港庄园三区 2室2厅 南/北 ', '\n 整租?九道湾北巷 2室1厅 南 ', '\n 整租?石园西区 2室1厅 南/北 ', '\n 整租?交通局家属楼 2室1厅 东/西 ', '\n 整租?四合巷小区 2室1厅 南/北 ', '\n 整租?滨河小区 1室1厅 南/北 ', '\n 整租?滨河小区 2室1厅 南/北 ', '\n 整租?温泉花园A区 2室1厅 南/北 ', '\n 整租?松榆西里 2室0厅 南 ', '\n 整租?鸿博家园一期B区 2室1厅 南/北 ', '\n 整租?鸿博家园一期B区 2室1厅 南/北 ', '\n 整租?建新北区 3室1厅 南/北 ', '\n 整租?良乡西路甲7号 2室1厅 南/北 ', '\n 整租?义宾南区 2室1厅 南/北 ', '\n 整租?民旺园 2室1厅 东/西 ', '\n 整租?隆盛园 2室1厅 南/北 ', '\n 整租?海棠公社 1室1厅 西北 ', '\n 整租?天翠阳光新城 1室1厅 南/北 ', '\n 整租?东方郁金香 1房间 北 ', '\n 整租?金地未未来 1室1厅 东 ', '\n 整租?天坛东路64号 2室1厅 东 ']['2600', '4500', '4400', '5000', '3600', '5000', '4600', '3000', '4900', '3000', '4500', '2800', '3100', '2500', '2800',
'3000', '2800', '5000', '4700', '4500', '3000', '2600', '3100', '5500', '2350', '3800', '3000', '4300', '3000', '4800']