python小甲鱼爬虫妹子_【Python学习日记】B站小甲鱼:爬虫
Web Spider
Python 如何访问互联网
URL + lib -->urllib
URL的一般格式为 protocol://hostname[:port] / /path /[;parameters][?query]#fragment,其中[]为可选项
URL由三部分组成
第一部分是协议
第二部分是存放资源的服务器的域名系统或IP地址(有时候要包含端口号,各种传输协议都有默认的端口号)
第三部分是资源的具体地址,如目录或文件名
urllib是python的一个包
下面这个程序展示了获取百度新闻页面的网页数据的程序
importurllib.request
response= urllib.request.urlopen('http://news.baidu.com/')
html=response.read()
html= html.decode('utf-8')print(html)
获得的response是二进制的,所以需要通过utf-8解码
练习 从placekitten上保存一张猫猫的图片
importurllib.request
response= urllib.request.urlopen('http://placekitten.com/g/500/600')
cat_img=response.read()
with open('cat_500_600.jpg','wb') as f:
f.write(cat_img)
首先urlopen的参数 可以是一个字符串 也可以是一个request 对象
因此代码也可以写作把Request实例化
importurllib.request
req= urllib.request.Request('http://placekitten.com/g/500/600')
response=urllib.request.urlopen(req)
cat_img=response.read()
with open('cat_500_600.jpg', 'wb') as f:
f.write(cat_img)
Python提交POST表单访问有道翻译
爬有道词典,但是没有成功,原因是有道翻译添加了反爬机制salt和sign。
importurllib.requestimporturllib.parse
url1= 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'data= {'i': '你好!', 'type': 'AUTO', 'doctype': 'json', 'version': '2.1', 'keyfrom': 'fanyi.web', 'ue': 'UTF-8','typoresult': 'true'}
data= urllib.parse.urlencode(data).encode('utf-8') #把data编码
response= urllib.request.urlopen(url1, data) #发出请求,得到相应
html = response.read().decode('utf-8') #read之后得到的是utf-8的格式,解码成Unicode的形式
print(html)
Request 有一个heads的参数,heads的格式是字典
修改heads可以通过两个方式修改
1.通过Request的headers参数修改
2.通过Request.add_header()方法修改
为了使爬虫更像人类,可以通过
1.time来控制时间戳,限制单位时间内IP的访问次数
import time
...
time.sleep(5)
2.代理
通过代理去访问服务器
1.参数是一个字典{‘类型’ : ‘代理ip:端口号’}
proxy_support = urllib.request.ProxyHandler({})
2.定制一个opener
opener = urllib.request.build_opener(proxy_support)
3.1.安装opener
urllib.request.install_opener(opener)
3.2.调用opener
opener.open(url)
教程使用的网站现在都设置了复杂的反爬机制了,所以运行没有成功。
importurllib.request
url= 'http://www.whatismyip.com.tw'proxy_support= urllib.request.ProxyHandler({'http': '221.122.91.66:80'})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders= {'User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
'Chrome/84.0.4147.105 Safari/537.36'}
urllib.request.install_opener(opener)
response=urllib.request.urlopen(url)
html= response.read().decode('utf-8')print(html)
python小甲鱼爬虫妹子_【Python学习日记】B站小甲鱼:爬虫相关推荐
- 小菜鸟的C++游戏编程学习日记(一)
小菜鸟的C++游戏编程学习日记(一) 作者:杨帆参考书籍:Beginning Game ProGramming(中文版)学习时间:2016.7.26 以下附所敲源代码与部分注释: //编译环境 vis ...
- python适合开发游戏吗_【学习python小游戏代码,你就可以做python滑雪游戏了】- 环球网校...
[摘要]很多人开始学习编程都会选择python,并且也会将python用在实际生活中,不过有很多伙伴也打算用python做游戏,所以小编建议大家可以学习python小游戏代码,今天环球网校的小编就来和 ...
- python如何设计爬虫界面软件_Python+PyQt5设计B站视频数据爬虫小程序
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于菜J学Python ,作者J哥 前言 目前,市场上有大量 Python图形用户界面( ...
- 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集
python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...
- python识别人脸多种属性_深度学习人脸识别仅9行python代码实现?同时高效处理100张相片?...
随着人脸识别.视频结构化等计算视觉相关技术在安防.自动驾驶.手机等领域走向商业化应用阶段,计算视觉技术行业市场迎来大规模的爆发.伴随人脸识别.物体识别等分类.分割算法不断提升精度.计算视觉的核心算法深 ...
- python人工智能方向怎么学_如何学习人工智能
人工智能(Artificial Intelligence),英文缩写为AI它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新的技术科学.现在随着时代的发展,AI的应用也越来 ...
- 软件测试python掌握到什么程度_软件测试学习到什么程度能顺利工作?
展开全部 蜗牛学院根据行业e69da5e6ba9062616964757a686964616f31333433626563变化和企业用人需求整理了一份软件测试的学习路线,都是目前企业刚需的技术,可以参 ...
- python 归一化feed-dict程序代码_深度学习-中国大学mooc-题库零氪
第一讲 人工智能导论 2.29日考勤 1.以下关于深度学习和机器学习的关系,描述正确的是: A.机器学习的范畴包含深度学习: B.深度学习的范畴包含机器学习: C.二者没有关系: D.二者等同. 第三 ...
- python爬取论坛图片_[python爬虫] Selenium定向爬取虎扑篮球海量精美图片
前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...
- python培训学校哪儿好_昆山学习python哪儿好
python的就业前景 首先,Python的就业前景还是非常不错的,目前Python语言的上升趋势也非常明显,随着大数据和人工智能技术的落地应用,未来Python的应用范围会进一步得到拓展,IT行业内 ...
最新文章
- charts混合使用 elementui和e_vue模块化(echart+element ui)
- pandas使用apply函数:在dataframe数据列(column)上施加(apply)函数
- 父类没有异常,子类可以抛异常吗
- Android开机画面~(自己还没试验)
- SSD(Single Shot MultiBox Detector):因为数据集中图像通道数不对导致的训练异常
- WORD中如何自动生成目录?
- (vue基础试炼_08)Vue模板语法
- CentOS7.3编译安装php7.1
- 【clickhouse】clickhouse 配置 安装目录
- 大学时私藏了哪些工具、网站?在这里共享出来了
- 读书行动笔记2013第2本:《整理的艺术》
- spring-mvc集成urule
- Google Earth Engine——在控制台中打印出喜马拉雅山脉的动态图,需要用到join链接来实现(含案例)
- handsome主题添加服务器信息,全屏响应式精美typecho主题handsome
- cpuz不显示服务器内存,cpu-z怎么看不到内存频率
- Windows 11通过WSA及ADB运行安卓应用
- 系统学习iOS动画 —— 渐变动画
- 华联股份:范本式改造,BHG Mall全新升级开辟商业新契机
- 新手引导:在家园你能干什么【51CTO家园帮助】
- LED or LCD
热门文章
- GRPC与.net core
- 在.Net Core中实现一个WebSocket路由
- Visual Studio 2019 16.1发布,更快更高效
- Web API 速率限制(一)
- 代码整洁之道(Clean Code)- 读书笔记
- 使用.NetCore 控制台演示 熔断 降级(polly)
- 使用Identity Server 4建立Authorization Server (5)
- java程序猿面试问缺点怎么回答_JAVA程序员面试32问,你能回答多少题
- 将WebApiTestClient添加到ASP.NET Web API帮助页面
- 【抢鲜版】ArcGIS 10.7手把手经典图文安装教程(附安装包下载地址)