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:缓存页面最后修改的时间。
阅读全文
0 0
- Python爬虫——web前端基础XPath、Json和HTTP
- python爬虫——web前端基础HTML+CSS
- Python爬虫——Web基础
- python xpath介绍和新闻内容爬虫
- Python爬虫知识(3)—— xpath 选择器
- python爬虫xpath针对json代码的分析方法
- python爬虫基础-http协议
- python之xpath爬虫
- python爬虫之xpath
- Python爬虫XPATH
- python基础——Json和Pickle
- WEB前端 | HTML基础——(5)表格和表单
- WEB前端 | JS基础——(5)字符串和时间
- python爬虫提取信息:正则表达式和xpath
- Python爬虫Xpath和lxml类库系列之九
- Http—Chrome—与Python爬虫
- python 爬虫知识点 (http 基础)
- python爬虫xpath的语法
- Android Canvas 旋转Rect功能实施
- Java正则表达式的语法与示例
- 一个java对象创建的过程
- 正则表达式总结
- Leetcode [609. Find Duplicate File in System]
- Python爬虫——web前端基础XPath、Json和HTTP
- 理解闭包
- 1002: FJ的字符串
- 【Linux】vi/vim操作命令
- <PTA>Reversing Linked List
- Error LNK2001 无法解析的外部符号 的几种情况及解决
- 第二章习题
- 6
- 利用keras进行样本扩充