运行平台: Windows

Python版本: Python3.x

IDE: Pycharm 2017.2.4

  • 看了崔老师的python3网络爬虫实战,受益匪浅,为了帮助自己更好的理解这些知识点,于是打算趁着这股热乎劲,针对爬虫实战进行一系列的教程。

阅读文章前,我会默认你已经具备一下几个要素

1.python3安装完毕

Windows:

https://www.jianshu.com/p/7a0b52075f70

Mac:

http://pythonguidecn.readthedocs.io/zh/latest/starting/install3/osx.html

linux:

https://blog.csdn.net/qq_35195390/article/details/79057597

2.具备基本python语法

廖雪峰:

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

菜鸟系列:

http://www.runoob.com/python3/python3-tutorial.html

3.一个能够使用的编辑器

pycharm、sublim


首先,我们来看下面这一段代码

import urllib.request #引入urllib库response = urllib.request.urlopen("https://tieba.baidu.com/index.html")  #发出请求并且接收返回文本对象
html = response.read()   #调用read()进行读取
print(html)  #打印

打印出来的结果如下

这就是我们获取到的文本对象,也就是我们从浏览器上看到的数据,只不过浏览器能够把他转化成我们看到的形式,我们移步到浏览器,按下F12,看到如下画面

这些便是构成网页的代码,也就是我们爬虫所需要获取到的文本
可是我们的截图似乎和他不太一样,我想你是说这样的效果,那么我们看看下面这段代码

import urllib.request #引入urllib库response = urllib.request.urlopen("https://tieba.baidu.com/index.html")  #发出请求并且接收返回文本对象
html = response.read().decode('utf-8')   #调用read()进行读取,转换为utf-8的编码
print(html)  #打印

我们来看看效果

进行转码处理一下就可以得到我们从网页上看到的代码了,所以爬虫不难,难在对方的开发人员不想让你拿到这些代码,于是双方就进行了斗智斗勇的阶段,这些以后会提到,回到正题,那么不是每个网页都是utf-8的形式编码的,那么我们该如何获取到该编码,别急,python为什么强大,就是因为很多前辈都帮我们造好轮子,我们只需要拿过来用就行

pip install chardet

执行下面的代码

import urllib.request #引入urllib库
import chardetresponse = urllib.request.urlopen("https://tieba.baidu.com/index.html")  #发出请求并且接收返回文本对象
html = response.read()   # 调用read()进行读取
chardit1 = chardet.detect(html) #获取文本编码
print(chardit1)print(html.decode(chardit1['encoding']))

返回结果

我们下来看看ullib这个库
urllib request 模块提供了最基本的构造 HTTP 请求的方法, 利用它可以模拟浏览器的请求发起过程

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None

  • url 我们所要请求的网址(有些网站可能会有登陆操作,所以这里不全是我们所要爬取的网址,而要经过中间的一些过程)
  • data 参数是可选的,如果要添加 data ,它要是字节流编码格式的内容,即 bytes 类型,通过 bytes() 函数可以进行转化,另外如果你传递了这个 data 参数,它的请求方式就不再是 GET 方式请求,而是 POST 。
  • timeout 参数可以设置超时时间,单位为秒,意思就是如果请求超出了设置的这个时间还没有得到响应,就会抛出异常,如果不指定,就会使用全局默认时间。它支持 HTTP 、 HTTPS 、 FTP 请求。
  • 其他参数 还有 context 参数,它必须是 ssl.SSLContext 类型,用来指定 SSL 设置。cafile 和 capath 两个参数是指定CA证书和它的路径,这个在请求 HTTPS 链接时会有用。
  • cadefault 参数现在已经弃用了,默认为 False 。
    看不懂没关系,实战是最好的学习方式,看完这篇文章,我相信你应该对爬虫有个概念,那么我们会在接下来几个章节进行一系列爬虫实战练习,在实战中成长。

参考资料

  • [1] 崔庆才 《Python3网络爬虫开发实战》

一、最简单的爬虫(python3 爬虫小白系列文章)相关推荐

  1. python抓取简单网页_【Python3 爬虫】01_简单页面抓取

    运行平台:Winodows 10 Python版本:Python 3.4.2 IDE:Sublime text3 网络爬虫 网络爬虫,也叫网络蜘蛛(Web Spider),如果把互联网比喻成一个蜘蛛网 ...

  2. python3 爬虫例子_如何让你写的爬虫速度像坐火箭一样快【并发请求】

    开坑个新系列,主要面向新手,老司机可以忽略. 这个系列内的文章将会让你知道如何做到让你写的爬虫在运行的时候速度能像火箭一样快! 很多初学爬虫的朋友对于这方面的知识似乎是空白的,甚至还有一些在爬虫岗位上 ...

  3. Python3 爬虫学习笔记 C09【数据储存系列 — 文件储存】

    Python3 爬虫学习笔记第九章 -- [数据储存系列 - 文件储存] 文章目录 [9.1]TXT 文本存储 [9.1.1]基本示例 [9.1.2]打开方式 [9.2]JSON 文件存储 [9.2. ...

  4. python3爬虫基本操作——抓取股票信息

    目录 1. requests库发送请求,获取响应内容的字符串格式 2.Beautifulsoup解析并获取指定的内容 3.selenium库 没想到我的第一次 - - 写博客就这样毫无预兆地发生了.其 ...

  5. python3爬虫及数据分析_Python3爬虫及可视化数据分析系列图文教程——大纲目录...

    本文首发于:Python3爬虫及可视化数据分析系列图文教程--大纲目录 - Python量化投资​www.lizenghai.com 写在最前 最近更新:2019-03-28 本教程所有源码见文尾. ...

  6. python3爬虫入门教程-有什么好的python3爬虫入门教程或书籍吗?

    2018.2.23 更新.现在书也来了,经过一段时间的学习,我把我的爬虫经验写成了一本书,名字叫<Python3网络爬虫开发实战> /> 本书通过多个实战案例详细介绍了 Python ...

  7. python3爬虫系列教程-Python3爬虫视频学习教程

    下面是转发博客内容,挺有用的 大家好哈,现在呢静觅博客已经两年多啦,可能大家过来更多看到的是爬虫方面的博文,首先非常感谢大家的支持,希望我的博文对大家有帮助! 之前我写了一些Python爬虫方面的文章 ...

  8. Python3爬虫-01-简单网页爬取

    ''' 宇宙黑客王磊磊 Python3爬虫 简单网页的获取第一个简单的示例 爬去Hades 官网首页 '''import sys import urllib.request print(sys.get ...

  9. python3多线程异步爬虫_python3爬虫中多线程进行解锁操作实例

    生活中我们为了保障房间里物品的安全,所以给门进行上锁,在我们需要进入房间的时候又会重新打开.同样的之间我们讲过多线程中的lock,作用是为了不让多个线程运行是出错所以进行锁住的指令.但是鉴于我们实际运 ...

  10. Python3 爬虫学习笔记 C12【验证码对抗系列 — 图形验证码】

    Python3 爬虫学习笔记第十二章 -- [验证码对抗系列 - 图形验证码] 文章目录 [12.1]关于普通图形验证码 [12.2]tesserocr 库识别验证码 [12.3]pytesserac ...

最新文章

  1. SSL压力测试工具THC-SSL-DOS
  2. Django Models一对多操作
  3. MySQL中的整数类型
  4. 运动合成——机器学习技术
  5. 【原】Python基础-函数
  6. python数据分析numpy_(转)Python数据分析之numpy学习
  7. 前端学习(2005)vue之电商管理系统电商系统之获取动态参数列表
  8. 知名PS滤镜合集工具Nik Collection 4 for Mac
  9. testbench的设计
  10. matlab 2017a下载以及安装教程 亲测有效
  11. SSO - 我们为何需要单点登录系统
  12. 第一周 周报
  13. 如何在 微软Microsoft 官网 下载 office365
  14. 韩国通关号免费查询系统,韩国清关码校验
  15. radosgw bucket index sharding
  16. JAVA练习257-三维形体投影面积
  17. Android项目运行提示unfortunately,xxx has stopped
  18. 飞猪未来景区多地智慧亮相 春节出游目的地马上安排
  19. 一篇了解RabbitMQ
  20. 刚过去的520,大家都在送什么礼物,Python用可视化图告诉你

热门文章

  1. 统考计算机各题型分数,计算机等级考试分值
  2. springboot+pageoffice实现Word在线编辑
  3. 代码参考--点击文本,即可复制
  4. 24个笔画顺序表田字格_PPT 笔画书写动画,这样可以快速制作哦
  5. c语言谱曲软件,基于C语言的音乐谱曲技巧与应用研究
  6. Logic Pro X for Mac(专业级音频制作软件)
  7. layui颜色选择器 拾色器结合表单记录
  8. 疯狂HTML5 CSS 3 JavaScript讲义 (李刚) 高清PDF扫描版
  9. MySQL 通过 jemalloc 管理内存
  10. 怎么把倒数日放到桌面上,华为电脑便签怎么在桌面上显示倒计时