Python爬虫——web前端基础XPath、Json和HTTP

来源:互联网 发布:黑客网络hacknet攻略 编辑:程序博客网 时间:2024/06/01 20:22

一、XPath

XPath简介:

XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航,就好比windows中文件的路径一样。XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。XPath在爬虫的应用中是分析网页中的信息。

XPath节点:

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点。学习python和c语言的,学过数据结构会更好的理解什么是节点。各节点的关系就是父、子、兄弟、先辈、后代。

XPath语法:

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。基本语法就是路径表达式,如下:

路径表达式

在节点集可以使用数组、表达式、通配符、多选符。

XPath轴:
轴就是说节点之间的关系。有下面12种。

 ancestor   选取当前节点的所有先辈(父、祖父等)。 ancestor-or-self   选取当前节点的所有先辈(父、祖父等)以及当前节点本身。 attribute  选取当前节点的所有属性。 child  选取当前节点的所有子元素。 descendant 选取当前节点的所有后代元素(子、孙等)。 descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。 following  选取文档中当前节点的结束标签之后的所有节点。 namespace  选取当前节点的所有命名空间节点。 parent 选取当前节点的父节点。 preceding  选取文档中当前节点的开始标签之前的所有节点。 preceding-sibling  选取当前节点之前的所有同级节点。 self   选取当前节点。

XPath运算符:

普通的有+、-、*、div、=、!=、<=、>=、>、<、or、and、mod特别注意的是“|",是计算两节点集。

二、Json

用于储存和交换文本信息。语法和Python的字典很像。

三、HTTP

http状态码:

当浏览者访问一个网页时,浏览者的浏览器会向网页所在的服务器发出请求。浏览器接收请求后,会向浏览者回复一个状态,也就是http状态码。

HTTP状态码详解。

一共分为5类,按数字开关分类:1——信息,2——成功,3—— 重定向(需要进一步操作完成请求),4——客户端错误,5——服务端错误。

http头部信息:

http头部信息由多个头域组成,头域格式:域名:域值。GET:请求方式Host头哉:请求资源的Internet的主机和端口号Use-agent:发出请求的用户信息。可用来作反爬虫Accept:指定用户接受哪些类型的信息Accept-Language:指定一种自然语言。Accept-Encoding:指定可接受的编码方式Connection:指定连接状态是连续还是关闭的If-Modified-Since:缓存页面最后修改的时间。