爬虫入门到入手实战项目
程序员文章站
2024-02-19 19:32:58
...
requests模块
作用
模拟浏览器发请求
如何使用
requests模块的编码流程
①指定url
②发起请求(get/post)
③获取响应数据
④持久化存储
环境安装
pip install requests
实战编码
需求:爬取搜狗首页的页面数据
import requests
if __name__ == "__main__":
#step1:指定url
url = 'https://baidu.com/'
#step2:发送请求
#get方法会返回一个响应对象
response = requests.get(url)
#step3:获取相应数据
#text 返回的是字符串形式的响应数据
page_text = response.text
print(page_text)
#step4:持久化存储
with open('./baidu.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('爬取数据结束!')
实战巩固
需求:爬取搜狗指定词条对应的搜索结果页面
UA检测
UA伪装
#需求:爬取搜狗首页页面数据
import requests
#UA:User-Agent(请求载体的身份标识)
#UA检测:门户网站的服务器会检测对应网站的身份标识,如果检测的身份标识是某一款浏览器
#说明该请求是一个正常的请求,但是,如果检测到的请求载体身份标识不是基于某一款浏览器的,
#则标识该请求为不正常请求,则服务器端很可能拒绝该次请求
#UA伪装:让爬虫对应的请求载体身份标识伪装成某一款浏览器
if __name__ == "__main__":
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'
}
url = 'https://www.sogou.com/web'
#处理url携带的参数:封装到字典中
kw = input('enter a word:')
params = {
'query': kw
}
#对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数
response = requests.get(url = url, params = params,headers = headers)
page_text = response.text
fileName = kw +'.html'
with open(fileName, 'w', encoding="utf-8") as fp:
fp.write(page_text)
print(fileName, "保存成功")
需求:**百度翻译
POST请求(携带参数)
响应数据是一组json数据
import requests
import json
if __name__ == "__main__":
#step1指定url
post_url = 'https://fanyi.baidu.com/sug'
kw = input("enter key word\n")
#step2post请求参数处理
data = {
'kw': kw
}
#step3进行UA伪装
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'
}
#step4请求发送
response = requests.post(url=post_url, data=data,headers=headers)
#step5获取响应数据:json()方法返回的是obj(如果确认响应的数据类型是json类型,才可以使用json()
dic_obj = response.json()
#step6持久化存储
file = kw+'.json';
fp = open(file, 'w', encoding='utf-8')
json.dump(dic_obj, fp=fp, ensure_ascii=False)#防止中文乱码
print(file+'爬取完毕!!!')
需求:爬取豆瓣电影分类排行榜
需求:爬取肯德基餐厅中指定地点的餐厅数目
需求:爬取国家药品监督管理总局中基于*化妆品生产许可证相关数据
下一篇: JAVA判断三角形的类型
推荐阅读
-
《Python编程从入门到实践》学习笔记详解-项目篇(API的使用)
-
爬虫入门到入手实战项目
-
python实践到入门,外星人项目12章的习题的自我练习
-
《python编程从入门到实践》Django项目注意点和心得:第18章 Django入门其一
-
《python编程从入门到实践》Django项目注意点和心得:第18章 Django入门其二
-
《Python编程从入门到实践》项目2: 数据可视化15.2绘制简单的折线图
-
Angular 4.0从入门到实战 博客分类: Web前端
-
Angular 4.0从入门到实战 博客分类: Web前端
-
K8S入门到精通08-项目实战:K8S构建贝亲婴童商城
-
爬虫项目实战四:爬取语录大全