文章目录

一、前言

二、实战

1)获取百度网页并打印

2)获取帅哥图片并下载到本地

4) 获取美女视频并下载到本地

5)搜狗关键词搜索爬取

6)爬取百度翻译

7)爬取豆瓣电影榜单

8)JK妹子爬取

总结:


一、前言

前面两篇文章我已经把requests基础与高阶篇都做了详细讲解,也有不少了例子。那么本篇在基于前两篇文章之上,专门做一篇实战篇。

requests   基础篇    进阶篇
环境:jupyter
如果你不会使用jupyter请看我这一篇文章:jupyter安装教程与使用教程

二、实战

1)获取百度网页并打印

#-*- coding: utf-8 -*
import requestsurl = 'http://www.baidu.com'r = requests.get(url)
r.encoding = r.apparent_encodingprint(r.text)

运行结果:

2)获取帅哥图片并下载到本地

此照片链接  点它就行

现在我们就把这张图片下载下来:

代码:

import requestssrc = 'https://cn.bing.com/images/search?view=detailV2&ccid=yj6ElAFe&id=D93F105743FB238DEB0F368C30CD9881AEB3B8E8&thid=OIP.yj6ElAFeZl8v6dYUhuMgqAHaHa&mediaurl=https%3A%2F%2Ftse1-mm.cn.bing.net%2Fth%2Fid%2FR-C.ca3e8494015e665f2fe9d61486e320a8%3Frik%3D6LizroGYzTCMNg%26riu%3Dhttp%253a%252f%252fp4.music.126.net%252f9Fpqj1WM0H7fjlRQc3-TSw%253d%253d%252f109951165325278290.jpg%26ehk%3Dr9puRRQ%252fYEoDToUqJ%252bOt%252fBhB69sKQ8Zl0cwQXKrOWng%253d%26risl%3D%26pid%3DImgRaw%26r%3D0&riu=http%253a%252f%252fp2.music.126.net%252fPFVNR3tU9DCiIY71NdUDcQ%253d%253d%252f109951165334518246.jpg&ehk=o08VEDcuKybQIPsOGrNpQ2glID%252fIiEV7cw%252bFo%252fzopiM%253d&risl=1&pid=ImgRaw&r=0&exph=1024&expw=1024&q=%E5%BC%A0%E6%9D%B0&simid=608056275652971603&form=IRPRST&ck=61FF572F08E45A84E73B7ECCF670E32A&selectedindex=3&ajaxhist=0&ajaxserp=0&vt=0&sim=11'r = requests.get(src)with open('bizhi.jpg', 'wb') as f:f.write(r.content)print('下载完成') 

运行结果:

4) 获取美女视频并下载到本地

比如我得到一个视频链接:美女变身

截图:

代码:

import requestssrc = 'https://v26-web.douyinvod.com/cbf8c5256aa1445d0db1cc23cb324a96/61951eb0/video/tos/cn/tos-cn-ve-15-alinc2/ffaec236e9b84baa8de831b1335db83c/?a=6383&br=1360&bt=1360&cd=0%7C0%7C0&ch=5&cr=3&cs=0&cv=1&dr=0&ds=3&er=&ft=OyFYlOZZI0rC17XzGTh9D8Fxuhsd5.RcHqY&l=20211117222423010135163078021E6247&lr=all&mime_type=video_mp4&net=0&pl=0&qs=0&rc=amZ5eGk6Zm10OTMzNGkzM0ApNTtmOzw4O2Q1NzVoZmQ4M2ctX2s1cjQwYzBgLS1kLWFzczJeX15eLy1iMS4uYGFgYGE6Yw%3D%3D&vl=&vr='r = requests.get(src)with open('movie.mp4', 'wb') as f:f.write(r.content)print('下载完成')

运行结果:

5)搜狗关键词搜索爬取

代码:

import requests
#指定url
url='https://www.sogou.com/web'
kw=input('enter a word: ')
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}
param={'query':kw
}
#发起请求,做好伪装
response=requests.get(url=url,params=param,headers=header)
#获取相应数据
content=response.text
fileName=kw+'.html'
#将数据保存在本地
with open(fileName,'w',encoding='utf-8') as fp:fp.write(content)
print(fileName,'爬取完成!!!')

运行结果:  输入 美女 回车

网址详情:

6)爬取百度翻译

分析找到接口:

由此我们可以拿到接口和请求方式:

代码:

import json
import requests
url='https://fanyi.baidu.com/sug'
word=input('请输入想翻译的词语或句子:')
data={'kw':word
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2626.106 Safari/537.36'
}
reponse=requests.post(url=url,data=data,headers=headers)
dic_obj=reponse.json()
# print(dic_obj)
filename=word+'.json'
with open(filename,'w',encoding='utf-8') as fp:json.dump(dic_obj,fp=fp,ensure_ascii=False)
j=dic_obj['data'][1]['v']
print(j)

测试结果:

7)爬取豆瓣电影榜单

目标网址:

https://movie.douban.com/chart

代码:

import json
import requests
url='https://movie.douban.com/j/chart/top_list?'
params={'type': '11','interval_id': '100:90','action': '','start': '0','limit': '20',
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2626.106 Safari/537.36'
}
reponse=requests.get(url=url,params=params,headers=headers)
dic_obj=reponse.json()
print(dic_obj)
with open('douban.json','w',encoding='utf-8') as fp:json.dump(dic_obj,fp=fp,ensure_ascii=False)

运行结果:(同时保存为json)

8)JK妹子爬取

import requests
import re
import urllib.request
import time
import os
header={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
}
url='https://cn.bing.com/images/async?q=jk%E5%88%B6%E6%9C%8D%E5%A5%B3%E7%94%9F%E5%A4%B4%E5%83%8F&first=118&count=35&relp=35&cw=1177&ch=705&tsc=ImageBasicHover&datsrc=I&layout=RowBased&mmasync=1&SFX=4'
request=requests.get(url=url,headers=header)
c=request.text
pattern=re.compile(r'<div class="imgpt".*?<div class="img_cont hoff">.*?src="(.*?)".*?</div>',re.S
)
items = re.findall(pattern, c)
# print(items)
os.makedirs('photo',exist_ok=True)
for a in items:print(a)
for a in items:print("下载图片:"+a)b=a.split('/')[-1]urllib.request.urlretrieve(a,'photo/'+str(int(time.time()))+'.jpg')print(a+'.jpg')time.sleep(2)

运行结果:

图片如下:

总结:

如果本文的表头或者url处不懂或不知道怎么找,请移步到基础篇先去学习一下!

如果本文有不当之处,请你指出,谢谢!!!

手把手教你爬虫requests实战演练——python篇相关推荐

  1. python做出来的小程序、可以在win10上面运行_超详细,手把手教你用20行Python代码制作飞花令小程序!...

    原标题:超详细,手把手教你用20行Python代码制作飞花令小程序! 来源:早起Python 作者:陈熹 飞花令是古时候人们经常玩一种"行酒令"的游戏,是中国古代酒令之一,属雅令. ...

  2. 一文搞定!手把手教你文字识别(识别篇:LSTM+CTC, CRNN, chineseocr方法)

    个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 文字识别是AI的一个重要应用场景,文字识别过程一般由图像输入.预处理.文本检测.文本识别.结果输出等环节组成.   其中,文本检测. ...

  3. 手把手教你写网站:Python WEB开发技术实战

    摘要:本文详细介绍了Python WEB开发的基础入门.以一个博客站点的开发为例讲解了基于Django框架开发WEB站点的全过程.通过本文的学习可以快速掌握基于Django的Python WEB的开发 ...

  4. 从零开始社区之路,手把手教你开源自己的Python包

    2019独角兽企业重金招聘Python工程师标准>>> 要融入社区,第一步当然是要撰写一个自己的包.整个过程主要分为五步: 项目创建 搭建虚拟运行环境 编写项目代码 编写安装脚本 上 ...

  5. 手把手教你编写游戏模拟器 - Chip8篇(1)

    转自 http://www.cnblogs.com/YiranXie/p/3439934.html 手把手教你编写游戏模拟器 - Chip8篇(1) 手把手教你编写游戏模拟器 - Chip8篇 翻译整 ...

  6. 网络爬虫有什么用?怎么爬?手把手教你爬网页(Python代码)

    导读:本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫:另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以便具备编写HTTP网络程 ...

  7. 【手把手教你】玩转Python金融量化利器之Pandas

    前言 "手把手教你"系列将为Python初学者一一介绍Python在量化金融中运用最广泛的几个库(Library): NumPy(数组.线性代数).SciPy(统计).pandas ...

  8. 手把手教你架构3D引擎高级篇概述

    前几年写过一本书<手把手教你架构3D游戏引擎>电子工业出版社,主要内容讲的是固定流水线编程,目的是让读者理解第一代引擎是如何实现的,从本篇博客开始,给读者介绍关于使用可编程流水线自己搭建3 ...

  9. 文末送书 | 手把手教你玩转,Python 会交互的超强绘图库 Plotly!

    作者:Will Koehrsen,译者:欧剃,编辑:肉松 原文:https://towardsdatascience.com/the-next-level-of-data-visualization- ...

最新文章

  1. 2020牛客多校第3场:Two Matchings[找规律+dp]
  2. 女生学计算机有什么要求,女生学计算机专业好吗?
  3. boost::hash_range相关的测试程序
  4. oracle 容器切换,oracle12c 多租户管理四(容器连接切换)
  5. Spring MVC Controller 的同一个 URL 请求,根据逻辑判断返回 JSON 或者 HTML 视图
  6. 二分答案——数列分段 Section II(洛谷 P1182)
  7. 程序设计基础要用计算机吗,计算机二级公共基础知识|程序设计基础
  8. 在QT中CXDVA视频组件的例子
  9. VC与JAVA DES加密算法互操作
  10. 灵悟礼品网上专卖店——分析类似项目的优缺点
  11. 【软件工具】之录屏软件 Captura
  12. plot 串口助手,DataScope软件的数据,导入matlab绘图。温度曲线
  13. 基于MIMO讲解信道估计基本原理
  14. 计算机考试怎么复制粘贴文件,复制粘贴,教您电脑复制粘贴不能用了怎么解决...
  15. 基于torch学汪峰写歌词、聊天机器人、图像着色/生成、看图说话、字幕生成
  16. 网络数据里的身份证实名认证接口,你了解多少?
  17. 【PyTorch深度学习项目实战100例】—— 基于ResNet50实现多目标美味蛋糕图像分类 | 第51例
  18. vue 高德地图点击获取坐标与地理位置
  19. http://zc.qq.com/en/index.html,index.html
  20. android手机连接hdmi,手机hdmi转接线的介绍以及连接方法

热门文章

  1. Win7系统还原声音图标的方法
  2. Windows平台RTMP直播推送集成简要说明
  3. jeecg 输入框属性 自定义ajax 验证字段值是否存在
  4. 阮一峰的JavaScript 的 this 原理
  5. iis7.5 php伪静态,Windows Server 2008 下WordPress IIS7.5伪静态规则设置(最新)
  6. java volatile 原子性_Java中volatile不能保证原子性的证明
  7. Java面向对象编程篇2——面向对象三大特点
  8. Vue页面跳转后不显示问题
  9. php 地址传递,PHP引用符传递存储地址
  10. linux驱动日志格式,( 转)嵌入式Linux驱动Makefile