我的python爬虫自学之路

昨天开始装装插件,找找博客,看看知乎,开始我的python的自学之路。惭愧,我算是一个只有三分钟热度的人,挖个坑督促一下自己。希望能坚持把坑填上。

先来盘点一下昨天完成的事,以及接下来的计划。


看完两篇知乎文章并实现和理解了其中的简单实例

Python爬虫(1):Requests

Python爬虫(2):XPath语法

W3school上的XPath教程


简单整理了一下笔记


网页爬虫的整个思路方法:

爬取整个网页=获取网页的源代码

爬取下来的网页再通过文本解析提取,找到需要的信息,可以是图片或者文字



#入门一个HTTP客户端库:Requests,用来请求网址,得到一些响应内容

#lxml库和XPath(XML文档中查找信息的语言)语法来完成信息的提取

###XPath节点

节点(Node): XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点

基本值(原子值,Atomic value):无父或无子的节点

项目(Item):基本值或节点

 

###XPath语法

选取节点:其采用路径表达式选取XML文档中的节点或节点集。节点是通过沿着路径(path)或者步(steps)选取的

表达式

描述

路径表达式

结果

nodename

选取此节点的所有子节点

bookstore

选取bookstore元素的所有子节点

/

从根节点选取

/bookstore

选取根元素bookstore

//

从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置

bookstore/book

选取属于bookstore的子元素的所有book元素

.

选取当前节点

//book

选取所有book子元素,而不管它们在文档中的位置

..

选取当前节点的父节点

bookstore//book

选择属于bookstore元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置

@

选择属性

//@lang

选取名为 lang 的所有属性

 

谓语(Predicates)被嵌在方括号中用来查找某个特定的节点或者包含某个指定的值的节点

选取未知节点:*匹配任何元素节点; @*匹配任何属性节点; node()匹配任何类型的节点

选取若干路径:通过在路径表达式中使用“|”运算符,可以选取若干个路径

 

###XPath Axes(轴)

轴定义相对于当前节点的节点集

ancestor\ancestor-or-self\attribute\child\descendant(后代)\descendant-or-self

following\namespace\parent\precending\precending-sibling\self

位置路径表达式:绝对路径起始于/,相对路径不会

(step):轴名称::节点测试[谓语]

child::*

选取当前节点的所有子元素

child::node()

选取当前节点的所有子节点

child::*/child::price

选取当前节点的所有 price 孙节点

 

###XPath运算符

XPath 表达式可返回节点集、字符串、逻辑值以及数字

 

###XPath函数


计划

主要是按照了知乎上的一个python爬虫学习计划

## 计划(穿插着看一些博客)

### Day1-20《笨方法学Python》每天3-5个习题,20天完成全书

### Day20-40《用python写网络爬虫》每天10页,20天完成全书

### Day40-50 单个帖子的目标信息爬取

### Day50-70《精通python网络爬虫》每天20页,20天完成全书

### Day70-100整站的目标信息爬取,实现目标。


穿插着学习如何学习Python爬虫[入门篇]?中贴出来的博客文章




猜你喜欢

转载自blog.csdn.net/jesmine_gu/article/details/80773498