您好:如下我先用

url_regexp = re.compile("^prod-itemlist-")
tag_item = soup.find_all(class_="table-td", id=url_regexp)

抓出值相关资料再用

for item in tag_item:
book = []
book.append(item.find("img")["alt"])

要去取资料,筛资料

请问,要如何去抓 这一段内id的值?因为要取出0010963477有是过先抓isbn=item.find(class_="table-td")print(isbn)但结果是None

谢谢

整个抓出的区段如下

<div class="table-td" id="prod-itemlist-0010963477">
<div class="box">
<a href="//search.books.com.tw/redirect/move/key/%E6%BC%94%E7%AE%97%E6%B3%95/area/mid/item/0010963477/page/1/idx/6/cat/001/pdf/1/spell/3"
target="_blank" title="演算法图鉴【全新增订版】:33种演算法 + 7种资料结构,人工智慧、数据分析、逻辑思考的原理和应用全图解"><img
alt="演算法图鉴【全新增订版】:33种演算法 + 7种资料结构,人工智慧、数据分析、逻辑思考的原理和应用全图解" class="b-lazy"
data-src="https://im1.book.com.tw/image/getImage?i=https://www.books.com.tw/img/001/096/34/0010963477.jpg&amp;w=187&amp;h=187&amp;v=64db0062"
data-srcset="https://im1.book.com.tw/image/getImage?i=https://www.books.com.tw/img/001/096/34/0010963477.jpg&amp;w=374&amp;h=374&amp;v=64db0062 2x"
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a>
</div>
<h4><a href="//search.books.com.tw/redirect/move/key/%E6%BC%94%E7%AE%97%E6%B3%95/area/mid/item/0010963477/page/1/idx/6/cat/001/pdf/1/spell/3"
target="_blank"
title="演算法图鉴【全新增订版】:33种演算法 + 7种资料结构,人工智慧、数据分析、逻辑思考的原理和应用全图解"><em>演算法</em>图鉴【全新增订版】:33种<em>演算法</em> +
7种资料结构,人工智慧、数据分析、逻辑思考的原理和应用全图解</a></h4>
<div class="type clearfix">
<p>中文书</p>
<p class="author">
<a href="//search.books.com.tw/search/query/cat/all/v/1/adv_author/1/key/%E5%AE%AE%E5%B4%8E%E4%BF%AE%E4%B8%80"
rel="go_author" title="宫崎修一">宫崎修一</a> <a
href="//search.books.com.tw/search/query/cat/all/v/1/adv_author/1/key/%E7%9F%B3%E7%94%B0%E4%BF%9D%E8%BC%9D"
rel="go_author" title="石田保辉">石田保辉</a> <a
href="//search.books.com.tw/search/query/cat/all/v/1/adv_author/1/key/%E9%99%B3%E5%BD%A9%E8%8F%AF"
rel="go_author" title="陈彩华">陈彩华</a>
</p>
</div>
<ul class="price clearfix">
<li>优惠价: <b>9</b> 折, <b>495</b> 元</li>
</ul>
<div class="paster-0">
</div>
</div>

1 个回答

0

hokou

iT邦好手 1 级 ‧ 2024-11-21 08:17:01

最佳解答

这样试试看?

前略

for item in tag_item:
    id = item.get("id").split("-")[-1]
    print(id)

  • 3

noway

iT邦研究生 1 级 ‧
2024-11-21 20:27:50

您好:这样可以
所以是用get 来抓 有ID这一个属性的内容值?
谢谢

修改

hokou

iT邦好手 1 级 ‧
2024-11-22 09:32:57

对,抓到 id ,item["id"] 也可以试试
之后会得到 prod-itemlist-0010963477
再用字串分割 split(),以 "-" 分割
会得到 ["prod", "itemlist", "0010963477"] 的列表
取最后 1 个,以 [-1] 得到 "0010963477"

修改

froce

iT邦大师 1 级 ‧
2024-11-22 15:45:52

https://www.crummy.com/software/BeautifulSoup/bs4/doc/#bs4.Tag.attrs
官方文件...

修改

tiankong8688

iT邦新手 5 级 ‧ 2024-12-04 15:10:06

【**此则讯息已被站方移除**】