python爬虫urllib 数据处理_Python 爬虫笔记之Urllib的用法

urllib总共有四个子模块,分别为request,error,parse,robotparser

request用于发送request(请求)和取得response(回应)

error包含request的异常,通常用于捕获异常

parse用于解析和处理url

robotparser用于robot.txt文件的处理

urllib.request 模块import urllib.request

response=urllib.request.urlopen("http://blog.youhaiqun.mom")

print(response.read().decode('utf-8'))

response是一个Httpresponse对象,它主要包含的方法有 read()

getheader(name),getheaders(),fileno()等函数

主要包含的属性为status,msg,reason,closed,debuglevel

可以利用response.status,或response.read()来调用并获取信息

urllib.request.urlopen()模块urllib.request.urlopen(url,data,timeout,cafile,capath,cadefault,context)

利用URLopen打开url所对应的网址,data为附加参数,其必须为bytes型,(可以利用data来进行post方式的访问)

urllib.parse.urlencode()模块urllib.parse.urlencode({'word':'hello'})

可以把字典转化为字符串

同时利用上面两个模块

data={'word':'hello'}

data=bytes(urllib.parse.urlencode(data),encoding='utf-8')

response=urllib.request.urlopen('http://blog.youhaiqun.mom',data,timeout=9)

urllib.request.Request()模块

当需要在请求中加入header时就需要用到urllib.request.Request(),urllib.request.urlopen()只能利用data来传递附加的参数

request=urllib.request.Request(url,data,headers,method='get/post')

注意: 上面并没有开始对url进行请求,只是构造了一个request,里面包含的headers,data等数据,需要经过下面的语句才算正式开始访问

response=urllib.request.urlopen(request)

print(response.read().decode('utf-8'))

也可以通过add_header()来添加headers

request=urllib.request.Request(url,data,method='POST')

request.add_header('User-Agent','Mozilla/4.0(compatible;MSIE 5.5;Windows NT)')

urllib.request.Request的高级特征

对于cookie,代理的处理`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语法分析-C语言程序

⑴<C语言程序>——〉begin<语句串>end ⑵<语句串>——〉<语句>{&#xff1b;<语句>} ⑶<语句>——〉<赋值语句> ⑷<赋值语句>——〉ID&#xff1a;<表达式> ⑸<表达式>——〉<项>{<项> | -<项>…

python中对比数组长度_在Python中检索数组长度的首选方法

python中对比数组长度The __len__() is a method on container types. However, python also provides another option of retrieving the length of an array, using the method len(). __len __()是关于容器类型的方法。 但是&#xff0c;python还使用len()方法提供了另一个检…

html window 属性,html中window对象top 、self 、parent 等属性

top 属性返回最顶层的先辈窗口。该属性返回对一个顶级窗口的只读引用。如果窗口本身就是一个顶级窗口&#xff0c;top 属性存放对窗口自身的引用。如果窗口是一个框架&#xff0c;那么 top 属性引用包含框架的顶层窗口。下面的例子窗口是否在一个框架中&#xff0c;如果是&…

python随机抽签列表中的同学值日_神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号...

神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号更多相关问题下图表示几个植物类群的进化关系。下列叙述不正确的是[ ]A&#xff0e;最先出现的植物类群是甲B&#xff0e;乙和丙都是由甲进化来的请结合下图中的有关动物回答问题。(1)___的发育为不完全变态…

LightGBM中GBDT的实现

现在LightGBM开源了&#xff0c;这里将之前的一个文档发布出来供大家参考&#xff0c;帮助更快理解LightGBM的实现&#xff0c;整体思路应该是类似的。 LightGBM优雅&#xff0c;快速&#xff0c;效果好&#xff0c;希望LightGBM越来越好:) LightGBM中GBDT的实现 http://www.do…

python逗号分隔符_在Python中用逗号将数字打印为数千个分隔符

python逗号分隔符什么是质数&#xff1f; (What is a prime number?) Many times, while writing the code we need to print the large number separated i.e. thousands separators with commas. 很多时候&#xff0c;在编写代码时&#xff0c;我们需要打印大量的分隔符&…

html页面foot,HTML tfoot用法及代码示例

HTML中的标记用于提供页脚内容组。此标记在带有标题和正文的HTML表中使用&#xff0c;称为“thead”和“tbody”。 标记是表的子标记&#xff0c;是和的父标记。用法: // Table footer contents... 属性&#xff1a;标记包含HTML4.1支持但HTML5不支持的许多属性。align:设置文本…

Tensorflow学习笔记4:分布式Tensorflow

简介 Tensorflow API提供了Cluster、Server以及Supervisor来支持模型的分布式训练。 关于Tensorflow的分布式训练介绍可以参考Distributed Tensorflow。简单的概括说明如下&#xff1a; Tensorflow分布式Cluster由多个Task组成&#xff0c;每个Task对应一个tf.train.Server实例…

c语言指针访问 静态变量_使用C中的指针访问变量的值

c语言指针访问 静态变量As we know that a pointer is a special type of variable that is used to store the memory address of another variable. A normal variable contains the value of any type like int, char, float etc, while a pointer variable contains the me…

迭代器 java_Java设计模式8:迭代器模式

迭代器模式迭代器模式又叫做游标(Cursor)模式&#xff0c;其作用是提供一种方法访问一个容器元素中的各个对象&#xff0c;而又不暴露该对象的内部细节。迭代器模式结构迭代器模式由以下角色组成&#xff1a;1、迭代器角色负责定义访问和遍历元素的接口2、具体迭代器角色实现迭…

html二级下拉菜单模板,基于jQuery实现二级下拉菜单效果

本文通过代码实例详细介绍一下简单的二级下拉菜单是如何实现的&#xff0c;当然还有更为复杂的二级菜单&#xff0c;不过先学会如何制作简单的&#xff0c;分享给大家供大家参考&#xff0c;具体内容如下代码如下&#xff1a;下拉菜单nav a{text-decoration:none;}nav>ul>…

给定一个整数判断是否为素数_Ruby程序检查给定数字是否为素数

给定一个整数判断是否为素数检查素数 (Checking prime number) Before getting into writing the code, let us understand what exactly the prime numbers are? So that we could easily design its logic and implement it in the code. Prime numbers are those numbers w…

python 正则findall右斜杠_python中正则表达式的使用

本文将介绍几个最常用的正则符号&#xff0c;以及正则表达式的应用场景。如果说【数学表达式】刻画的是数字的内在规律&#xff0c;那么【正则表达式】则是用来刻画和描述字符串内在规律的表达式。记得刚接触python时学习过slice&#xff0c;replace&#xff0c;split等方法&am…

JavaScript | 用户定义函数的一些示例

1) Design a function, print message and assign the function to a variable and print it like a function 1)设计一个功能&#xff0c;打印消息并将该功能分配给变量&#xff0c;然后像打印功能一样打印 <html lang"en"><head><script>functi…

网易 html5,别再想不开做H5了

写这篇文章的时候网易哒哒《饲养手册》H5刷屏了&#xff0c;但我们依旧不建议品牌做H5。H5作为大众传播工具的时代&#xff0c;已经过去了。尽管去年有很多H5曾经刷屏过&#xff0c;但在当时我们就一直跟朋友说&#xff0c;不要再尝试H5了&#xff0c;性价比根本算不过来&#…

python打开word后再关闭再打开出错_用Python写了个程序调用word,运行完后再手动打开word文档就变慢了,这是为啥?...

公司归档文件比较麻烦&#xff0c;于是用Python写了个程序自动归档&#xff0c;运行无错误。但是运行完后问题就来了&#xff0c;自己手动打开word文档时速度变得奇慢&#xff0c;打开一个文档需要1~2min,请各位同仁帮我看看。下为源代码#归档.pyimport osimport refrom win32c…

编程 mcq_MCQ | 8255 PPI(可编程外围接口)

编程 mcqQuestion 1: How many pins does the 8255 PPI IC contains? 问题1&#xff1a;8255 PPI IC包含多少个引脚&#xff1f; 24 24 20 20 32 32 40 40 Answer: d. 40 答案&#xff1a;d。 40 Question 2: In which mode do all the Ports of the 8255 PPI work as Input…

flex 修改生成html,CSS Flex –动画教程

如果一张图片胜过千言万语 —— 那么动画呢&#xff1f; Flex 无法通过文字或静态图像有效地完全解释。为了巩固你对flex的了解&#xff0c;我制作了这些动画演示。注意 overflow: hidden 行为类型是默认值&#xff0c;因为 flex-wrap 还未设置。为了获得更好的想法&#xff0c…

c#c#继承窗体_C#继承能力问题和解答 套装5

c#c#继承窗体1) Which keyword is used to call a superclass constructor from child class? supertopconstbase Answer & Explanation Correct answer: 4base In C#.NET, base keyword is used to call a base class constructor from a derived class. 1)使用哪个关键字…

python php 网站_python php网站

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…