from bs4 import BeautifulSoup
由于所需要的抓取的数据是异步数据,且被robot限制,,最终采取手动刷新页面,在F12 手动复制代码保存为TXT 文档
这里,使用BeautifulSoup html 文档解析器, 对纯文本文档做HTML 解析,让后更具HTML 原理,,更具标签抓取想要的数据,,这里如果纯文本文档,如果不做HTML 解析处理,里面的有效数据,要么用正则表达式抓取,,要么就无法抓取,正在表达式不懂,所以就使用BS4 来进行解析达到使用目的。
from bs4 import BeautifulSoup
path = "c:/123.txt"
with open(path, "r", encoding="utf-8") as f:
respones = f.read()
respones_html = BeautifulSoup(respones, "html5lib")
这里面,,文件打开需要注意,编码方式为UTF-8,要不然提示GBK 无法打开。
然后,BeautifulSoup 解析的时候 ,需要指定解析器,这里比较常用的是“html5lib”.
然后BeautifulSoup模式下数据的抓取
这里我们用到 respones_html.find_all("tbody")
因为tobdy里面有多个子元素,我们使用enumerate循环遍历的里面的子元素。
这里要特别说明下,,enumerate 是个特别强大的函数, 可以使用的模糊集合集合,不需要里面是什么东西,,大概知道里面是一块一块的东西,,就可以使用enumerate将其遍历出来
对于单个tbody参数
采用遍历TR参数
再遍历TD 参数
使用2嵌套循环,遍历出跟元素可储存在数组里面,也可以直接复制储存,我这就直接傻瓜操作。
我去,,退不出代码块 模式,,要疯掉,这是昨天的学习类容 ,,基本上就是这些
在这里,我们必要了解现目前解析数据的结构
<tbody>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
</tbody>
....
<tbody>
</tbody>
....
<tbody>
....
</tbody>