python 3 Urllib 数据抓取
1.0 Urllib简介
Urllib是python自带的标准库,无需安装,直接引用即可。urllib通常用于爬虫开发,API(应用程序编程接口)数据获取和测试。在python2和python3中,urllib在不同版本中的语法有明显的改变。
Python2分为urllib和urllib2,urllib2可以接收一个request对象,并以此来放置一个URL的Headers,但是urllib只接收一个URL,意味着不能伪装用户代理字符串等。urllib模块可以提供进行Urlencode的方法,该方法用于GET查询字符串的生成,urllib2不具有这样的功能。这也是urllib与 urllib2经常在一起使用的原因。
由于urllib在不用的python版本上有明显的区别,在实际开发中也遇到一些尴尬的情况,其中最为主要的是版本之间的不兼容所带来的问题。
在python3中,urllib是一个收集几个模块来使用URL的软件包,大致具备以下功能:
urllib.request:用于打开和读取URL。
urllib.error:包含提出的例外urllib.request。
urllib.parse:用于解析URL。
urllib.robotparser:用于解析robots.txt文件。
1.1 发送请求
urllib.request.urlopen 的语法如下
参数:
url:需要访问的网站的URL地址。url格式必须完整,如 https://movie.douban.com/ 为完整的url,若url为 movie.douban.com/ 则程序运行时会提示无法识别url的提示。
- data:默认值为None,urllib判断参数data是否为None从而区分请求的方式。若参数data为None,则代表请求方式为GET,反之请求方式为POST,发送POST请求,参数data以字典形式存储数据,并将参数data由字典类型转换成字节类型才能完成POST请求。
- timeout:超时设置,指定阻塞操作(请求时间)的超市(如果未指定,就使用全局默认超时设置)。
- cafile, capath 和 cadefault:使用参数指定一组HTTPS请求的可信CA证书,cafile应指向包含一组CA证书的单个文件:capath应指向证书文件的目录:cadefault通常使用默认值即可。
- context:描述各种SSL选项的实例。
- read() , readline() , readlines() , fileno() , close():对HTTPResponse类型数据操作。
- info():返回HTTPMessage对象,表示远程服务器返回的头信息
- getcode():返回HTTP状态码。
- geturl():返回请求的url。
import urllib.request
response=urllib.request.urlopen('http://movie.douban.com',None,2)
html=response.read().decode('utf-8')
f=open('html.txt','w',encoding='utf-8')
f.write(html)
f.close()
1.2复杂的请求
python 3 Urllib 数据抓取的更多相关文章
- python&php数据抓取、爬虫分析与中介,有网址案例
近期在做一个网络爬虫程序.后台使用python不定时去抓取数据.前台使用php进行展示 站点是:http://se.dianfenxiang.com
- python 手机App数据抓取实战二抖音用户的抓取
前言 什么?你问我国庆七天假期干了什么?说出来你可能不信,我爬取了cxk坤坤的抖音粉丝数据,我也不知道我为什么这么无聊. 本文主要记录如何使用appium自动化工具实现抖音App模拟滑动,然后分析数据 ...
- python 手机App数据抓取实战一
前言 当前手机使用成为互联网主流,每天手机App产生大量数据,学习爬虫的人也不能只会爬取网页数据,我们需要学习如何从手机 APP 中获取数据,本文就以豆果美食为例,讲诉爬取手机App的流程 环境准备 ...
- python爬虫数据抓取方法汇总
概要:利用python进行web数据抓取方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返 ...
- Python爬虫工程师必学——App数据抓取实战 ✌✌
Python爬虫工程师必学——App数据抓取实战 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 爬虫分为几大方向,WEB网页数据抓取.APP数据抓取.软件系统 ...
- 吴裕雄--天生自然python学习笔记:WEB数据抓取与分析
Web 数据抓取技术具有非常巨大的应用需求及价值, 用 Python 在网页上收集数据,不仅抓取数据的操作简单, 而且其数据分析功能也十分强大. 通过 Python 的时lib 组件中的 urlpar ...
- 数据抓取分析(python + mongodb)
分享点干货!!! Python数据抓取分析 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: ...
- python爬虫(一)_爬虫原理和数据抓取
本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...
- Python数据抓取_BeautifulSoup模块的使用
在数据抓取的过程中,我们往往都需要对数据进行处理 本篇文章我们主要来介绍python的HTML和XML的分析库 BeautifulSoup 的官方文档网站如下 https://www.crummy.c ...
随机推荐
- mysql链接 及备份
服务器数据库命令:mysql -usparks -pi6K1yRWUQVaIR79Z5vG1 -hrm-bp13z51p96xdax6i0.mysql.rds.aliyuncs.com 服务器数据库备 ...
- js的调用函数前先执行某语句问题
js的调用函数前先执行某语句问题 标签: web前端面试 2015-09-29 17:48 1455人阅读 评论(0) 收藏 举报 分类: js(5) 版权声明:本文为博主原创文章,未经博主允许不 ...
- Windows 驱动开发 - 7
在<Windows 驱动开发 - 5>我们所说的读写操作在本篇实现. 在WDF中实现此功能主要为:EvtIoRead和EvtIoWrite. 首先,在EvtDeviceAdd设置以上两个回 ...
- CListCtrl在处理NM_CLICK的时候,怎样推断Ctrl SHIFT ALT键是否按下
百度 NMITEMACTIVATE 在 NM_CLICK 的处理函数中.将 NMHDR 结构强制转换成 NMITEMACTIVATE.这一步MS已经帮助我们完毕了,当中,结构体中的 uKeyFlag ...
- HDU1236 排名 题解
Problem Description 今天的上机考试尽管有实时的Ranklist,但上面的排名仅仅是依据完毕的题数排序,没有考虑 每题的分值,所以并非最后的排名.给定录取分数线.请你敲代码找出最后 ...
- ubuntu12.04通过Ganglia利用NVML模块进行GPU监控
1.安装Ganglia,这里安装的是3.1*版本,因为监控GPU的模块只支持3.1*版本系列的 apt-get install ganglia* 2.下载并安装PyNVML和NVML模块,下载地址ht ...
- 复合页( Compound Page )
复合页(Compound Page)就是将物理上连续的两个或多个页看成一个 独立的大页,它能够用来创建hugetlbfs中使用的大页(hugepage). 也能够用来创建透明大页( ...
- Google Closure Compiler 高级模式及更多思考(转)
前言 Google Closure Compiler 是 Google Closure Tools 的一员,在 2009 年底被 Google 释出,早先,有 玉伯 的 Closure Compile ...
- 【168】ENVI入门系列
参考:ENVI-IDL中国的博客 [ENVI入门系列]01.ENVI产品简介与入门 [ENVI入门系列]02.自定义坐标系(北京54.西安80.2000坐标系) [ENVI入门系列]03.基于自带定位 ...
- ffmpeg 有用命令 (转载)
转自:http://blog.csdn.net/simongyley/article/details/9984167 1.将h264文件解码为yuv文件 ffmpeg -i file.h264 fil ...