1.安装包

2.开始使用

 

更多 Selenium 浏览器驱动下载,请点击

lxml是Python处理xml文档的一个库,速度快,易编程,可以“make life easier”。这篇文章是lxml的快速上手教程。

XML在lxml中的表示

在DOM中,文档是以节点(node)的形式组织的。某节点又有子节点,表示Elements,Attributes,Text等。

例如,下面这个DOM可以用如图所示的节点组织。

 


在lxml中,只有Element,Element有子Element,构成一棵树。Element有一下属性:

  • .tag – element的名字,比如“p”或“em”等
  • .text – 元素的文本内容,从开头到第一个子节点。如果从开头到一个子节点没有内容,那么就是None。比如p的text是”To find out”
  • .tail – 元素后面的内容,到下一个元素为止。比如em的tail是”, see the”
  • .attrib – 元素的属性。“<h2 class="arch" id="N15">”的.attrib就是 “{"class": "arch", "id": "N15"}
  • (子元素列表) – Element的很多行为都和list类似,可以用来索引。比如Element[0]就是表示Element的第1个子元素。可以使用len()查看这个Element一共有多少个子元素

注意.tail,比如,”,see the \n”本来在DOM中是p的节点,但是在lxml里成为了em的.tail属性。

如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求:

你也可以通过环境变量 HTTP_PROXY 和 HTTPS_PROXY 来配置代理。

若你的代理需要使用HTTP Basic Auth,可以使用 http://user:password@host/ 语法:

要为某个特定的连接方式或者主机设置代理,使用 scheme://hostname 作为 key, 它会针对指定的主机和连接方式进行匹配。

注意,代理 URL 必须包含连接方式。

前期准备

编写代码

pip install requests

要安装 Requests,只要在你的终端中运行这个简单命令即可:

如果你没有安装 pip (呵呵百度吧)。

获得源码

Requests 一直在 Github 上积极地开发,你可以一直从这里获取到代码。

你可以克隆公共版本库:

也可以下载 tarball:

获得代码之后,你就可以轻松的将它嵌入到你的 python 包里,或者安装到你的 site-packages:

一开始要导入 Requests 模块:

然后,尝试获取某个网页。本例子中,我们来获取 Github 的公共时间线:

现在,我们有一个名为 r 的 Response 对象。我们可以从这个对象中获取所有我们想要的信息。

Requests 简便的 API 意味着所有 HTTP 请求类型都是显而易见的。例如,你可以这样发送一个 HTTP POST 请求:

漂亮,对吧?那么其他 HTTP 请求类型:PUT,DELETE,HEAD 以及 OPTIONS 又是如何的呢?都是一样的简单:

都很不错吧,但这也仅是 Requests 的冰山一角呢。

你也许经常想为 URL 的查询字符串(query string)传递某种数据。如果你是手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, httpbin.org/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 httpbin.org/get ,那么你可以使用如下代码:

通过打印输出该 URL,你能看到 URL 已被正确编码:

注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。

你还可以将一个列表作为值传入: