python爬虫实战系列 本系列主要学习python爬虫的实战项目,需要源码欢迎关注留言私信
【python爬虫系列|python爬虫实战系列((二)爬取整个网页数据)】
文章目录
- python爬虫实战系列
- 1.爬取某租房软件下网页所有信息
- 2.爬取某快餐店地址信息
- 3.小结
requests爬取网页信息具体如下
- 1.指定url
- 2.UA伪装
- 3.发出请求
- 4.获取数据
- 5.保存数据
文章图片
1.URL从request URL中寻找
2.请求方式,本例为get
3.参数从playload中找
4.数据类型找到content-type:本例为text数据
下面我们开始爬取
#author = 'ml_ypj'
#date:2022-03-30 15:42
import requests
if __name__ == '__main__':
# 指定url
url = 'https://xm.58.com/siming/chuzu/'
# ua伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;
Win64;
x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36'
}
# 发出请求
response = requests.get(url=url, headers=headers)
page_text = response.text # 刚刚我们看到了此网站的数据形式为text
# 存储数据为html文件
with open('./fangjia.html','w',encoding='utf-8') as fp:
fp.write(page_text)
这样就生成了fangjia.html的一个文件
文章图片
在浏览器打开html文件得到如下页面:
文章图片
下面我们看一个动态访问的网页,此时是一个ajax请求。我们看看如何爬取
2.爬取某快餐店地址信息 首先打开网站,选择network中的Fetch/XHR,可以看到一个ajax请求,我们点进去可以发现其具体的信息。
文章图片
1.URL从request URL中寻找
2.请求方式,本例为Post
3.参数从playload中找
4.数据类型找到content-type:本例为text数据
下面我们开始爬取
#author = 'ml_ypj'
#date:2022-03-30 19:23
import requests
import json
if __name__ == '__main__':
# 指定url
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
# ua伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;
Win64;
x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36'
}
# 自己手动输入区域
word = input('请输入一个单词')
# 定义参数
param = {
'cname':'',
'pid':'',
'keyword': word,#表示区域
'pageIndex': '1',#表示第几页
'pageSize': '10'#表示一页几行
}
# 发出请求
response = requests.post(url=url,params=param,headers=headers)#通过抓包工具看request method判断是post还是get
text = response.text #通过抓包工具看content-type看是text还是json
with open('./kfc.json','w',encoding='utf-8') as fp:
json.dump(text,fp,ensure_ascii=False)
print('结束')
得到一个kfc.json文件,将其格式化转换后得到下面结果:
文章图片
3.小结 本章介绍的是爬虫中最基本的通用爬取,我们只是爬取了每个网页的整个页面的内容,在实际应用中,我们可能更多地是要获取网页的某一部分信息,在后续文章中,我们会进行爬取页面的某一部分内容。例如:爬取房子的地址,价格并将其存入文本文件中。
推荐阅读
- # yyds干货盘点 # 一篇文章教会你Python中三种简单函数的使用
- 万字教你如何用 Python 实现线性规划
- Python 中的图形绘制
- Python | Python常用函数方法示例总结(API)#yyds干货盘点#
- 爬虫|python爬虫学习44
- python|【值得收藏的】380个python常用库(包含(爬虫、图文、音视频、机器学习、PDF、Office等等))
- #yyds干货盘点#挑战40天从 Python菜鸟变大咖
- NLP|使用GPT-2加载CPM-LM模型实现简单的问答机器人
- python继承的特征有哪些()