您好:如下我先用
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&w=187&h=187&v=64db0062"
data-srcset="https://im1.book.com.tw/image/getImage?i=https://www.books.com.tw/img/001/096/34/0010963477.jpg&w=374&h=374&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
【**此则讯息已被站方移除**】