Python beautifulsoup 获取标签中的值 怎么获取?

<trclass='show_name'><td>张三</td><td>李四</td><td>王五</td></tr>想得到td中的姓名值即张三李四王五此html中还有很... <tr class='show_name'>
<td>张三</td>
<td>李四</td>
<td>王五</td>
</tr>

想得到td中的姓名值 即张三 李四 王五
此html中还有很多tr表中 我只想获取class为show_name的tr中的td的值
如何获取 贴代码 谢谢
展开
 我来答
分享社会民生
高粉答主

2020-02-24 · 热爱社会生活,了解人生百态
分享社会民生
采纳数:1248 获赞数:283352

向TA提问 私信TA
展开全部

age = soup.find(attrs={"class":"age"}) #你这里find只要一个attrs参数不会报错。

if age == None: #简单点可以用 if not age:

print u'没有找到'

else:

soup.find(attrs={"class":"name"})

#否则用findAll找出所有具有这个class的tr

tr = html.find("tr", attrs={"class":"show_name"})

tds = tr.findAll("td")

for td in tds:

print td.string # 或许不是string属性,你可以用dir(td)看看有哪些可用的。



扩展资料:

1、如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中。

1)如定义以下函数:

def func(*args):print(args)

当用func(1,2,3)调用函数时,参数args就是元组(1,2,3)

2)如定义以下函数:

def func(**args):print(args)

当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2}

学python的同时一定会接触到其他技术,毕竟光会python这门语言是不够的,要看用它来做什么。比如说用 python做爬虫,就必须接触到html, http等知识。

python是现在最火的数据分析工具语言python的进阶的路线是数据清洗,爬虫,数据容器,之后是卷积,线性分析,和机器学习,区块连,金融方面的量化等高端进阶。

真空66
推荐于2016-09-23 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:87万
展开全部
试试:
#html就是整个页面的html代码。
html = BeautifulSoup(html)

#当且仅当页面只有一个class="show_name"的时候才可以这么用
#否则用findAll找出所有具有这个class的tr
tr = html.find("tr", attrs={"class":"show_name"})

tds = tr.findAll("td")

for td in tds:
print td.string # 或许不是string属性,你可以用dir(td)看看有哪些可用的。
更多追问追答
追问
soup.find(attrs={"class":"age"})这个方法   若找不到 返回None?
能不能判断 返回None时 输出没有找到
返回不是None的时候 再soup.find(attrs={"class":"name"})
追答
是不是返回None我不知道,没去测试。
假设是返回None
那么按你的说法可以:
age = soup.find(attrs={"class":"age"}) #你这里find只要一个attrs参数不会报错吗?
if age == None: #简单点可以用 if not age:
print u'没有找到'
else:
soup.find(attrs={"class":"name"})
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2016-04-27 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2949万
展开全部
推荐使用的是 PyCharm,大部分用的都是这个,还有一部分坚守再sublime text上:
mport urllib
from BeautifulSoup import BeautifulSoup
url = 连接;
allData=
content = urllib.urlopen(url).read()
soup = BeautifulSoup(content)
tags1 = soup.findAll('tr', {class: even right})
tags2 = soup.findAll('tr', {class: odd right})
上面的就是利用写的一些代码,是要取出网页中class 为even right 的所有tr和所有class为odd right的所有tr取出之后就可以打印出他的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yycgis
2016-01-13 · TA获得超过8267个赞
知道大有可为答主
回答量:6831
采纳率:63%
帮助的人:1597万
展开全部

使用beautifulsoup的方法如下:

import urllib
from BeautifulSoup import BeautifulSoup
url = 连接
content = urllib.urlopen(url).read()
soup = BeautifulSoup(content)
tags1 = soup.findAll('tr', {class: even right})
tags2 = soup.findAll('tr', {class: odd right})
  1. 上面的就是利用beautifulsoup写的代码;

  2. 要取出网页中class 为even right 的所有tr和所有class为odd right的tr;

  3. 所有tr取出之后就可以打印出它的内容,就可以获取值了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
栋暖殊T1
2015-07-22 · TA获得超过3297个赞
知道大有可为答主
回答量:2221
采纳率:0%
帮助的人:1215万
展开全部
推荐使用的是 PyCharm,大部分用的都是这个,还有一部分坚守再sublime text上:
mport urllib
from BeautifulSoup import BeautifulSoup
url = 连接;
allData=
content = urllib.urlopen(url).read()
soup = BeautifulSoup(content)
tags1 = soup.findAll('tr', {class: even right})
tags2 = soup.findAll('tr', {class: odd right})
上面的就是利用写的一些代码,是要取出网页中class 为even right 的所有tr和所有class为odd right的所有tr取出之后就可以打印出他的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式