一直想好好学习一下Python爬虫,之前断断续续的把Python基础学了一下,悲剧的是学的没有忘的快。只能再次拿出来滤了一遍,趁热打铁,借鉴众多大神的爬虫案例,加入Python网络爬虫的学习大军~~~ 

爬虫之前

在着手写爬虫之前,要先把其需要的知识线路理清楚。

第一:了解相关Http协议知识

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP的请求响应模型
HTTP协议永远都是客户端发起请求,服务器回送响应。
这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。
HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。
工作流程
一次HTTP操作称为一个事务,其工作过程可分为四步:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

第二:了解Python中urllib库

Python2系列使用的是urllib2,Python3后将其全部整合为urllib;我们所需学习的是几个常用函数。细节可去官网查看。

第三:开发工具

  • Python自带编译器 -- IDLE,十分简洁;
  • PyCharm -- 交互很好的Python一款IDE;
  • Fiddler -- 网页请求监控工具,我们可以使用它来了解用户触发网页请求后发生的详细步骤;

简单网页爬虫

代码

[python] view plaincopy
  1. '''''
  2. 第一个示例:简单的网页爬虫
  3. 爬取豆瓣首页
  4. '''
  5. import urllib.request
  6. #网址
  7. url = "http://www.douban.com/"
  8. #请求
  9. request = urllib.request.Request(url)
  10. #爬取结果
  11. response = urllib.request.urlopen(request)
  12. data = response.read()
  13. #设置解码方式
  14. data = data.decode('utf-8')
  15. #打印结果
  16. print(data)
  17. #打印爬取网页的各类信息
  18. print(type(response))
  19. print(response.geturl())
  20. print(response.info())
  21. print(response.getcode())

结果

截取部分结果如下图:

Python3 爬虫(一)-- 简单网页抓取相关推荐

  1. 使用php简单网页抓取和内容分析,使用PHP简单网页抓取和内容分析_php

    没事的时候想抓取点网页看看,也不太懂,只是玩玩,写了点代码,聊以娱乐. 稍微有点意义的函数是:get_content_by_socket(), get_url(), get_content_url() ...

  2. 网络爬虫系列之网页抓取

    ​ (你的世界是个什么样的世界?你说,我们倾听!) ----------------- 网页抓取 我们在抓取网页时需要安装requests包,具体安装过程如下: pip install request ...

  3. python 爬虫动态网页的区别_Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取...

    区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...

  4. python动态页面元素爬取_Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过浏览器审查元素解析真实网页地址...

    由于主流网站都使用JavaScript展示网页内容,和前面简单抓取静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML源代码中,而是在HTML源码位置放上一段JavaScrip ...

  5. Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过浏览器审查元素解析真实网页地址...

    由于主流网站都使用JavaScript展示网页内容,和前面简单抓取静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML源代码中,而是在HTML源码位置放上一段JavaScrip ...

  6. 使用php简单网页抓取和内容分析,PHP抓取分析网页的方法

    这篇文章主要介绍了PHP抓取及分析网页的方法,结合实例形式详细分析了php网页抓取的原理及分析的技巧,需要的朋友可以参考下 本文实例讲述了PHP抓取及分析网页的方法.分享给大家供大家参考,具体如下: ...

  7. python3爬虫实例-Python3 爬虫实例(一)-- 简单网页抓取

    爬虫之前 在着手写爬虫之前,要先把其需要的知识线路理清楚. 第一:了解相关Http协议知识 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网 ...

  8. Python3爬虫(一)抓取网页的html

    因为代码只有几行,所以可以先贴代码: import urllib.request url = r'http://douban.com' res = urllib.request.urlopen(url ...

  9. Python新手爬虫,简单制作抓取廖雪峰教程的小爬虫

    先看几张对比图,分别是官网截图和抓取下来的 txt文档的截图,不算那难看的排版的话,内容是一致的,图片用 url替换了! 在整个抓取过程中,除了普通的文本以外,还需要处理 3个地方,分别是:代码.图片 ...

最新文章

  1. ADAS摄像头20个技术挑战
  2. 李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布
  3. 打发无聊的办法(2005-5-31)
  4. 《跃迁 从技术到管理的硅谷路径》读后感
  5. linq TO XML 基础
  6. python中的可变数据类型有列表和元组,为什么我们需要Python(或任何不可变数据类型)中的元组?...
  7. day5-xml模块
  8. 深度学习之生成对抗网络(7)WGAN原理
  9. IDEA MAVEN Project 显示问题
  10. halcon python缺陷检测_Halcon学习笔记之缺陷检测(一)
  11. linux对^M换行符的处理
  12. scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例
  13. 第一期_内存管理单元MMU
  14. load runner
  15. k touch for android,k touch for android新十年
  16. 软件项目管理案例教程第4版课后习题第二章
  17. 草根站长胖子讲述做站故事
  18. MPU6050 六轴传感器实验
  19. 360随身WiFi驱动下载
  20. 计算机教师培训项目申报书,课题《基于培养教师信息素养的教学研究》申报书(2013年4月—2015年3月)...

热门文章

  1. 再谈正态分布或高斯函数
  2. 冲刺阶段 day 4
  3. java应用挂死故障排查
  4. [uva] 146 - ID Codes
  5. VS.Net中向报表模板中传递参数与公式
  6. 如果有人再问你 Java 的反射,把这篇文章扔给他
  7. Python3 高级编程技巧(部分)
  8. SpringBoot集成Spring Security(1)——入门程序
  9. jquery中$.each循环的跳出
  10. MySQL(17)--- LIKE 子句