首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用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

复制
相关文章
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2018/09/19
5.9K0
WPF 修改按钮按下的颜色
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2022/08/04
2.4K0
[android] 线性布局和布局的组合
/****************2016年4月25日 更新******************************/
唯一Chat
2019/09/10
5820
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2018/09/18
1.6K0
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2022/08/09
1.3K0
[C#]不通过事件方式获取键盘按钮按下的状态
源码来自:https://www.pinvoke.net/default.aspx/user32/GetKeyboardState.html
CNXY
2020/10/27
3.6K0
error信息显示状态下按钮按下时error不消失问题
当画面增加一个按钮,在输入框表示error状态下,按下按钮,error信息还是没有消失,即使在按下事件中已经设置了setCustomValidity()方法,还是没有起效。
repick
2021/11/25
1.6K0
error信息显示状态下按钮按下时error不消失问题
LinearLayout(线性布局)
要点: android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 android:gravity="top"(buttom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal)控制布局中控件的对齐方式。如果是没有子控件的控件设置此属性,表示其内容的对齐方式,比如说TextVi
欢醉
2018/01/22
7730
LinearLayout(线性布局)
直播视频网站源码,按钮背景点击按下变色
以上就是直播视频网站源码,按钮背景点击按下变色的相关代码, 更多内容欢迎关注之后的文章
yunbaokeji柯基
2020/11/11
1.6K0
直播视频网站源码,按钮背景点击按下变色
Python中将变量按行写入txt文本中
在'w'写入模式下,当我们下次写入变量时,会覆盖原本txt文件的内容,这肯定不是我们想要的。TXT有一个追加模式'a',可以实现多次写入:
py3study
2020/01/10
7.6K0
Python中将变量按行写入txt文本中
文本、图片和按钮在Flutter中怎么用
与iOS、Android和React类似,作为一个UI框架,Flutter自然也提供了很多UI控件。而文本、图片和按钮,则是这些不同的UI框架中构建视图都要用到的三个最基本的控件。
拉维
2019/08/12
8K0
文本、图片和按钮在Flutter中怎么用
长图按固定像素长度裁切
from PIL import Image import os,time #注意:必须使用绝对路径 old_path="F:\\原图\\" new_path="F:\\裁剪后\\" pic_names=os.listdir(old_path) #按固定像素裁切 def cut_pic(old_path,new_path,pic_name): im=Image.open(old_path+pic_name) (x,y)=im.size box=[0,0,x,3000] #宽度
诡途
2022/05/09
4100
python中按字母排序_在Python中按字母顺序排序文本文件的内容
我想在文件内部按字母顺序排序。我当前执行此操作的代码不起作用,文件保持不变。这个程序本身就是一个基本的调查问卷,用来实验读写文件。在import time
用户7886150
2021/01/27
5.2K0
android 线性布局(LinearLayout)
线性布局可以分为水平线性布局和垂直线性布局两种,分别是通过android:orientation="horizontal"和android:orientation="vertical"来控制的
Twcat_tree
2022/11/30
9410
android 线性布局(LinearLayout)
线性布局LinearLayout(二)
线性布局,顾名思义,指的是整个Android布局中的控件摆放方式是以线性的方式摆放的, 代码中加载主界面布局是从onCreate开始的:
李小白是一只喵
2020/04/24
4860
【鸿蒙 HarmonyOS】UI 布局 ( 线性布局 DirectionalLayout )
线性布局 DirectionalLayout , 指的是其中的组件都是按照一个方向 , 从左到右 , 或 从上到下 , 线性排列的 ;
韩曙亮
2023/03/28
6270
【鸿蒙 HarmonyOS】UI 布局 ( 线性布局 DirectionalLayout )
iOS 点击按钮复制文本
UIPasteboard *pab = [UIPasteboard generalPasteboard]; NSString *string = @"测试"; pab.string = string; if (pab == nil) { [MBProgressHUD showError:@"复制失败"]; }else {
Lee坚武
2020/10/10
4.2K0
iOS 点击按钮复制文本
基于pyQt的按键响应程序,实现按下按键进行图片曝光(按下按钮,运行另一个曝光图片程序.py)
创建UI界面 在designer中拖出一个按钮,并进行重属名。 编写程序 编写你要调用的程序
跋扈洋
2021/02/02
1.2K0
基于pyQt的按键响应程序,实现按下按键进行图片曝光(按下按钮,运行另一个曝光图片程序.py)
点击加载更多

相似问题

图像线性布局下的文本视图

11

删除线性布局下按钮的额外空间

50

按钮不显示嵌套线性布局中的文本

16

线性布局:按钮文本向右倾斜

42

线性布局中的文本

416
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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