Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Python和Beautiful Soup从表中获取列

使用Python和Beautiful Soup从表中获取列
EN

Stack Overflow用户
提问于 2017-03-03 22:46:29
回答 2查看 5K关注 0票数 0

我是Python的新手,我想从表中获取“价格”列的数据,但我无法检索到该数据。

目前我正在做的是:

代码语言:javascript
运行
AI代码解释
复制
# Libraies
from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://pythonscraping.com/pages/page3.html")
soup = BeautifulSoup(html, "html.parser")
table = soup.find("table")

for row in table.find_all("tr"):

    col = row.find_all("td")

    print(col[2])
    print("---")

我总是得到一个超出值范围的列表索引。我已经阅读了文档并尝试了几种不同的方法,但我似乎无法理解它。

另外,我使用的是Python3。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-03 22:57:26

问题是,您正在迭代表中的所有tr,并且在开头有一个您不需要的头tr,所以只需避免使用它:

代码语言:javascript
运行
AI代码解释
复制
    # Libraies
from urllib.request import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://pythonscraping.com/pages/page3.html")
soup = BeautifulSoup(html, "html.parser")
table = soup.find("table")

for row in table.find_all("tr")[1:]:

    col = row.find_all("td")

    print(col[2])
    print("---")
票数 1
EN

Stack Overflow用户

发布于 2017-03-03 22:56:13

可能意味着其中一行没有td标记。您可以将printcol[2]的任何用法包装在try中,但不包括块,并忽略col为空或少于三个项的情况

代码语言:javascript
运行
AI代码解释
复制
for row in table.find_all("tr"):

    col = row.find_all("td")
    try:  
        print(col[2])
        print("---")
    except IndexError:
        pass
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42589738

复制
相关文章
Python爬虫——Beautiful Soup
Beautiful Soup是Python处理HTML或XML的解析库,使用Beautiful Soup需要安装Beautiful Soup库和lxml的库 Beautiful Soup官方下载地址
羊羽shine
2019/05/28
5330
Python爬虫库-Beautiful Soup的使用
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它能将HTML的标签文件解析成树形结构,然后方便地获取到指定标签的对应属性。
IT派
2018/07/30
1.7K0
Python爬虫库-Beautiful Soup的使用
Python 页面解析:Beautiful Soup库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 页面解析:Beautiful Soup库的使用 ---- Python 页面解析:Beautiful Soup库的使用 1.Beautiful Soup库简介 2.Beautiful Soup库方法介绍 2.1 find_all() 2.2 find() 2.3 select() 3.代码实例 --
小嗷犬
2022/11/15
1.8K0
Beautiful Soup (一)
1、Beautiful Soup库可以说是对HTML进行解析、遍历、维护“标签树”的功能库
AiDBA宝典
2019/09/29
6040
Beautiful Soup (一)
[Python]安装Beautiful Soup
Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间。美中不足的是我们需要自己去安装这个模块。
祥知道
2020/03/10
2350
beautiful soup爬虫初识
官方推荐使用lxml作为解析器,因为效率更高. 在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定
py3study
2018/08/03
7990
Python-数据解析-Beautiful Soup-中
网页中有用的信息都存在于网页中的文本或者各种不同标签的属性值,为了能获取这些有用的网页信息,可以通过一些查找方法获取文本或者标签属性。
小团子
2019/07/18
1.2K0
Python-数据解析-Beautiful Soup-中
使用 Beautiful Soup 解析网页内容
本文讲述如何使用Python的requests库和BeautifulSoup库提取网页中的文本内容。首先介绍了requests库的基本用法,然后通过一个实例详细讲解了如何使用requests库和BeautifulSoup库提取网页中的文本内容,最后介绍了使用BeautifulSoup进行网页解析的方法。
乐百川
2018/01/08
3.1K0
使用 Beautiful Soup 解析网页内容
7.01-beautiful_soup
# pip install beautifulsoup4 from bs4 import BeautifulSoup html_doc = """ <html><head><title>The Dormouse's story</title></head> <body> <p class="title"><b>The Dormouse's story</b></p> <p class="story">Once upon a time there were three little sisters; a
hankleo
2020/09/17
2460
数据提取-Beautiful Soup
官网 (opens new window)http://beautifulsoup.readthedocs.io/zh_CN/latest/
小小杰啊
2022/12/21
1.2K0
专栏:005:Beautiful Soup 的使用
系列爬虫专栏 崇尚的学习思维是:输入,输出平衡,且平衡点不断攀升。 曾经有大神告诫说:没事别瞎写文章;所以,很认真的写的是能力范围内的,看客要是看不懂,不是你的问题,问题在我,得持续输入,
谢伟
2018/06/06
6340
爬虫必备Beautiful Soup包使用详解
使用Beautiful Soup解析数据 Beautiful Soup是一个用于从HTML和XML文件中提取数据的Python模块。Beautiful Soup提供一些简单的函数用来处理导航、搜索、修改分析树等功能。Beautiful Soup 模块中的查找提取功能非常强大,而且非常便捷。Beautiful Soup自动输入文档转换为Unicode编码,输出文档转换为UTF-8编码。开发者不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。 Beau
double
2022/05/12
2.6K0
爬虫必备Beautiful Soup包使用详解
7.01-beautiful_soup2
# pip install beautifulsoup4 from bs4 import BeautifulSoup html_doc = """ <html><head><title>The Dormouse's story</title></head> <body> <p class="story"><!--...--></p> <p class="title"><b>The Dormouse's story</b></p> <p class="story">Once upon a time t
hankleo
2020/09/17
3100
72 - 使用Beautiful Soup 的CSS选择器获取节点信息
如何使用Beautiful Soup 的CSS选择器获取节点信息 from bs4 import BeautifulSoup html = ''' <html> <head> <meta charset="UTF-8"> <title>Beautiful Soup</title> </head> <body> <div> <ul> <li class="item" value1="1234", value2="hello world"><a href="https:
ruochen
2021/06/13
1.1K0
72 - 使用Beautiful Soup 的CSS选择器获取节点信息
Beautiful Soup库的基本介绍
beautiful soup库是python中用来解析html文件的一个工具,他能做到将html文件依据他的标签的特征来取出相应的标签块,比如取出网页的title啊,body啊,或者是某个id对应的东西啊,等等。从而为进一步的加工处理创造条件。从某种程度上讲是替代了正则的作用,但是比正则表达式使用的更加方便。
mythsman
2022/11/14
3230
Python-数据解析-Beautiful Soup-上
bs4 是一个 HTML/XML 的解析器,其主要功能是解析和提取 HTML/XML 数据。
小团子
2019/07/18
7240
Python-数据解析-Beautiful Soup-上
Python-数据解析-Beautiful Soup-下
为了使用 CSS 选择器达到筛选节点的目的,在 bs4 库的 BeautifulSoup 类中提供了一个 select() 方法,该方法会将搜索到的结果放到列表中。
小团子
2019/07/18
5250
Python-数据解析-Beautiful Soup-下
71 - 使用Beautiful Soup 的节点选择器获取节点信息
如何使用Beautiful Soup 的节点选择器获取节点信息 from bs4 import BeautifulSoup html = ''' <html> <head> <title>获取节点信息</title> </head> <body> <div> <ul> <li class="item1" value1="1234", value2="hello world"><a href="https://www.xxx.com">ruochen</a></li>
ruochen
2021/06/13
1.4K0
71 - 使用Beautiful Soup 的节点选择器获取节点信息
7.01-beautiful_soup3
# pip install beautifulsoup4 from bs4 import BeautifulSoup html_doc = """ <html><head> <title id="one">The Dormouse's story</title> </head> <body> <p class="story"><!--...--></p> <p class="title"> p标签的内容 <b>The Dormouse's story</b> </p> <p class
hankleo
2020/09/17
3060
点击加载更多

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档