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站小甲鱼:爬虫相关推荐

  1. 小菜鸟的C++游戏编程学习日记(一)

    小菜鸟的C++游戏编程学习日记(一) 作者:杨帆参考书籍:Beginning Game ProGramming(中文版)学习时间:2016.7.26 以下附所敲源代码与部分注释: //编译环境 vis ...

  2. python适合开发游戏吗_【学习python小游戏代码,你就可以做python滑雪游戏了】- 环球网校...

    [摘要]很多人开始学习编程都会选择python,并且也会将python用在实际生活中,不过有很多伙伴也打算用python做游戏,所以小编建议大家可以学习python小游戏代码,今天环球网校的小编就来和 ...

  3. python如何设计爬虫界面软件_Python+PyQt5设计B站视频数据爬虫小程序

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于菜J学Python ,作者J哥 前言 目前,市场上有大量 Python图形用户界面( ...

  4. 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集

    python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...

  5. python识别人脸多种属性_深度学习人脸识别仅9行python代码实现?同时高效处理100张相片?...

    随着人脸识别.视频结构化等计算视觉相关技术在安防.自动驾驶.手机等领域走向商业化应用阶段,计算视觉技术行业市场迎来大规模的爆发.伴随人脸识别.物体识别等分类.分割算法不断提升精度.计算视觉的核心算法深 ...

  6. python人工智能方向怎么学_如何学习人工智能

    人工智能(Artificial Intelligence),英文缩写为AI它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新的技术科学.现在随着时代的发展,AI的应用也越来 ...

  7. 软件测试python掌握到什么程度_软件测试学习到什么程度能顺利工作?

    展开全部 蜗牛学院根据行业e69da5e6ba9062616964757a686964616f31333433626563变化和企业用人需求整理了一份软件测试的学习路线,都是目前企业刚需的技术,可以参 ...

  8. python 归一化feed-dict程序代码_深度学习-中国大学mooc-题库零氪

    第一讲 人工智能导论 2.29日考勤 1.以下关于深度学习和机器学习的关系,描述正确的是: A.机器学习的范畴包含深度学习: B.深度学习的范畴包含机器学习: C.二者没有关系: D.二者等同. 第三 ...

  9. python爬取论坛图片_[python爬虫] Selenium定向爬取虎扑篮球海量精美图片

    前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...

  10. python培训学校哪儿好_昆山学习python哪儿好

    python的就业前景 首先,Python的就业前景还是非常不错的,目前Python语言的上升趋势也非常明显,随着大数据和人工智能技术的落地应用,未来Python的应用范围会进一步得到拓展,IT行业内 ...

最新文章

  1. charts混合使用 elementui和e_vue模块化(echart+element ui)
  2. pandas使用apply函数:在dataframe数据列(column)上施加(apply)函数
  3. 父类没有异常,子类可以抛异常吗
  4. Android开机画面~(自己还没试验)
  5. SSD(Single Shot MultiBox Detector):因为数据集中图像通道数不对导致的训练异常
  6. WORD中如何自动生成目录?
  7. (vue基础试炼_08)Vue模板语法
  8. CentOS7.3编译安装php7.1
  9. 【clickhouse】clickhouse 配置 安装目录
  10. 大学时私藏了哪些工具、网站?在这里共享出来了
  11. 读书行动笔记2013第2本:《整理的艺术》
  12. spring-mvc集成urule
  13. Google Earth Engine——在控制台中打印出喜马拉雅山脉的动态图,需要用到join链接来实现(含案例)
  14. handsome主题添加服务器信息,全屏响应式精美typecho主题handsome
  15. cpuz不显示服务器内存,cpu-z怎么看不到内存频率
  16. Windows 11通过WSA及ADB运行安卓应用
  17. 系统学习iOS动画 —— 渐变动画
  18. 华联股份:范本式改造,BHG Mall全新升级开辟商业新契机
  19. 新手引导:在家园你能干什么【51CTO家园帮助】
  20. LED or LCD

热门文章

  1. GRPC与.net core
  2. 在.Net Core中实现一个WebSocket路由
  3. Visual Studio 2019 16.1发布,更快更高效
  4. Web API 速率限制(一)
  5. 代码整洁之道(Clean Code)- 读书笔记
  6. 使用.NetCore 控制台演示 熔断 降级(polly)
  7. 使用Identity Server 4建立Authorization Server (5)
  8. java程序猿面试问缺点怎么回答_JAVA程序员面试32问,你能回答多少题
  9. 将WebApiTestClient添加到ASP.NET Web API帮助页面
  10. 【抢鲜版】ArcGIS 10.7手把手经典图文安装教程(附安装包下载地址)