Python3 爬虫(一)-- 简单网页抓取
序
爬虫之前
第一:了解相关Http协议知识
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP的请求响应模型
HTTP协议永远都是客户端发起请求,服务器回送响应。
这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。
HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。
工作流程
一次HTTP操作称为一个事务,其工作过程可分为四步:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。
第二:了解Python中urllib库
第三:开发工具
- Python自带编译器 -- IDLE,十分简洁;
- PyCharm -- 交互很好的Python一款IDE;
- Fiddler -- 网页请求监控工具,我们可以使用它来了解用户触发网页请求后发生的详细步骤;
简单网页爬虫
代码
- '''''
- 第一个示例:简单的网页爬虫
- 爬取豆瓣首页
- '''
- import urllib.request
- #网址
- url = "http://www.douban.com/"
- #请求
- request = urllib.request.Request(url)
- #爬取结果
- response = urllib.request.urlopen(request)
- data = response.read()
- #设置解码方式
- data = data.decode('utf-8')
- #打印结果
- print(data)
- #打印爬取网页的各类信息
- print(type(response))
- print(response.geturl())
- print(response.info())
- print(response.getcode())
结果
Python3 爬虫(一)-- 简单网页抓取相关推荐
- 使用php简单网页抓取和内容分析,使用PHP简单网页抓取和内容分析_php
没事的时候想抓取点网页看看,也不太懂,只是玩玩,写了点代码,聊以娱乐. 稍微有点意义的函数是:get_content_by_socket(), get_url(), get_content_url() ...
- 网络爬虫系列之网页抓取
(你的世界是个什么样的世界?你说,我们倾听!) ----------------- 网页抓取 我们在抓取网页时需要安装requests包,具体安装过程如下: pip install request ...
- python 爬虫动态网页的区别_Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取...
区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...
- python动态页面元素爬取_Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过浏览器审查元素解析真实网页地址...
由于主流网站都使用JavaScript展示网页内容,和前面简单抓取静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML源代码中,而是在HTML源码位置放上一段JavaScrip ...
- Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过浏览器审查元素解析真实网页地址...
由于主流网站都使用JavaScript展示网页内容,和前面简单抓取静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML源代码中,而是在HTML源码位置放上一段JavaScrip ...
- 使用php简单网页抓取和内容分析,PHP抓取分析网页的方法
这篇文章主要介绍了PHP抓取及分析网页的方法,结合实例形式详细分析了php网页抓取的原理及分析的技巧,需要的朋友可以参考下 本文实例讲述了PHP抓取及分析网页的方法.分享给大家供大家参考,具体如下: ...
- python3爬虫实例-Python3 爬虫实例(一)-- 简单网页抓取
爬虫之前 在着手写爬虫之前,要先把其需要的知识线路理清楚. 第一:了解相关Http协议知识 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网 ...
- Python3爬虫(一)抓取网页的html
因为代码只有几行,所以可以先贴代码: import urllib.request url = r'http://douban.com' res = urllib.request.urlopen(url ...
- Python新手爬虫,简单制作抓取廖雪峰教程的小爬虫
先看几张对比图,分别是官网截图和抓取下来的 txt文档的截图,不算那难看的排版的话,内容是一致的,图片用 url替换了! 在整个抓取过程中,除了普通的文本以外,还需要处理 3个地方,分别是:代码.图片 ...
最新文章
- ADAS摄像头20个技术挑战
- 李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布
- 打发无聊的办法(2005-5-31)
- 《跃迁 从技术到管理的硅谷路径》读后感
- linq TO XML 基础
- python中的可变数据类型有列表和元组,为什么我们需要Python(或任何不可变数据类型)中的元组?...
- day5-xml模块
- 深度学习之生成对抗网络(7)WGAN原理
- IDEA MAVEN Project 显示问题
- halcon python缺陷检测_Halcon学习笔记之缺陷检测(一)
- linux对^M换行符的处理
- scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例
- 第一期_内存管理单元MMU
- load runner
- k touch for android,k touch for android新十年
- 软件项目管理案例教程第4版课后习题第二章
- 草根站长胖子讲述做站故事
- MPU6050 六轴传感器实验
- 360随身WiFi驱动下载
- 计算机教师培训项目申报书,课题《基于培养教师信息素养的教学研究》申报书(2013年4月—2015年3月)...