【天善学院】自己动手,丰衣足食!Python3网络爬虫实战案例 附讲义与代码 6 A+所属分类:Python教程
自己动手,丰衣足食!Python3网络爬虫实战案例
适宜人群:
- 萌新小白:我连爬虫也不知道是什么
- 入门菜鸟:我对一些爬虫的用法还不是很熟练
- 老司机:我想学习更高级的框架及分布式
从环境基础到进阶分布式,由浅入深,逐篇递进。
urllib是基于http的高层库,它有以下三个主要功能:
(1)request处理客户端的请求
(2)response处理服务端的响应
(3)parse会解析url
一、爬取网页内容
我们知道,网页上呈现的优美页面,本质都是一段段的HTML代码,加上JS 、CSS等,本人也是刚开始学python,这个文章也比较小白,资深老鸟请忽略~~。
本文所说的代码都是基于python3的,使用phython2的请注意
python 3.x中urllib库和urilib2库合并成了urllib库
其中urllib2.urlopen()变成了urllib.request.urlopen()
urllib2.Request()变成了urllib.request.Request()
那么获取网页有哪一些方法呢?这里列举了三种方法,具体查看代码。
import urllib.requestimport http.cookiejarurl = '直接通过url来获取网页数据print('第一种 :直接通过url来获取网页数据')response = urllib.request.urlopen(url)html = response.read()
将上面的代码copy之后,在pycharm新建一个python项目,如下图,新建一个python file ,命名为demo.py 黏贴上面的代码
GET方式:
上面我们使用的是post的形式的,至于GET方式区别就是在URL上,我们如果直接把参数写到网址上面,构建一个带参数的URL。
values={}
四、添加头部
从上面的代码我们可以知道,可以使用build_opener 获取到opener对象,来添加头部
cookie = http.cookiejar.CookieJar()
五、http 错误
import urllib.request req = urllib.request.Request(' ')
六、异常处理
except HTTPError as e:
except URLError as e:
from urllib.request import Request, urlopen
except URLError as e:
if hasattr(e, 'reason'):
elif hasattr(e, 'code'):
from urllib.request import Request, urlopen
七、HTTP 认证
import urllib.request
八、使用代理
import urllib.request proxy_support = urllib.request.ProxyHandler({'sock5': 'localhost:1080'})
九、超时
【天善学院】自己动手,丰衣足食!Python3网络爬虫实战案例 附讲义与代码 6 A+所属分类:Python教程相关推荐
- 【天善学院】自己动手,丰衣足食!Python3网络爬虫实战案例 附讲义与代码
Python3 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具 ...
- python3爬虫实例-自己动手,丰衣足食!Python3网络爬虫实战案例
本教程是崔大大的爬虫实战教程的笔记:网易云课堂 Python3+Pip环境配置 用到的IDE是PyCharm,Windows下到官网下载就行(Professional版本):http://www.je ...
- 自己动手,丰衣足食!Python3网络爬虫实战案例
+我威信哦:WYZZXNDYL 第一章:环境配置; [1 r2 i0 H. C# R9 x: R 1 Python3+Pip环境配置 22:10 1 e$ z, ~' y. p E 购买后请及 ...
- Python网络爬虫实战案例之:7000本电子书下载(2)
一.前言 本文是<Python开发实战案例之网络爬虫>的第二部分:7000本电子书下载网络爬虫开发环境安装部署.配套视频课程详见网易云课堂 二.章节目录 (1)Python开发环境依赖 ( ...
- Java网络爬虫实战案例一
紧接我们上次的问题,如何获取服务器发送的资源,保存到本地?上一篇文章见java网络爬虫核心原理. 一.Java IO流三分游(input,output) 我们知道计算机是用来处理数据的.所有的程序 ...
- Python3网络爬虫实战-38、动态渲染页面抓取:Splash的使用
Splash 是一个 JavaScript 渲染服务,是一个带有 HTTP API 的轻量级浏览器,同时它对接了 Python 中的 Twisted和 QT 库,利用它我们同样可以实现动态渲染页面的抓 ...
- Python3网络爬虫实战解析——优美壁纸爬取
在上一博客中,我们已经学会了如何使用Python3爬虫抓取文字,那么在本问中,将通过实例来教大家如何使用Python3爬虫批量抓取图片. (1)实战背景 URL:https://unsplash.co ...
- Python3网络爬虫实战-24、requests:基本使用
在前面一节我们了解了 Urllib 的基本用法,但是其中确实有不方便的地方.比如处理网页验证.处理 Cookies 等等,需要写 Opener.Handler 来进行处理.为了更加方便地实现这些操作, ...
- 【Python】Python3网络爬虫实战-24、requests:基本使用
在前面一节我们了解了 Urllib 的基本用法,但是其中确实有不方便的地方.比如处理网页验证.处理 Cookies 等等,需要写 Opener.Handler 来进行处理.为了更加方便地实现这些操作, ...
最新文章
- 什么是CMU Pronoucing Dictionary(CMU发音词典)
- Bengio、Hinton的不懈追求——深度学习算法揭示大脑如何学习
- 并发编程11-测试并发程序
- 支付宝sdk 支付订单查询失败
- vue开发(1) 软件安装
- VTK:actors的类型用法实战
- SAP S/4HANA Cloud SDK 入门介绍
- css3怎么设置logo,纯CSS3实现的LOGO标志 ABN AMRO CSS3 logo
- 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
- 业务随行:用户的网络访问策略还能这么玩
- Mysql函数Last_insert_id()的真正含义
- mysql数据库查询笔记_mysql笔记: 查询
- Java接口自动化之TestNG单元测试框架(一)
- 【原创】大叔问题定位分享(11)Spark中对大表子查询加limit为什么会报Broadcast超时错误...
- java glob paths_何时在JAVA的glob语法中使用**(双星)
- 人人译视界 for Mac(智能翻译软件)
- 常用的北斗高精度定位技术有哪些?
- Ruby之父松本行弘的编程人生
- JavaScript——利用正则表达式实现二代身份证号码的验证
- R语言ggplot2可视化哑铃图、强调从一个点到另一个点的变化、数量的变化、客户满意度的变化等(Dumbbell Plot)、为可视化图像添加标题、题注信息
热门文章
- mysql端口号543_TCP/UDP常用端口及对应服务列表
- 2020 最新java面试题附答案
- cad详图怎么画_初学CAD如何能画的快,出图迅速?15个小技巧分钟成高手
- 开发板搭建FTP服务器
- [android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题
- 如何提高机器人专业课讲师的收入
- Tinyos Makerules解读
- 在arm上使用Cachegrind的一些心得
- Python之父Guido Van Rossum宣布加入微软
- 关于8259中断控制器