iT邦幫忙

0

python soup 抓出的資料,可以抓屬性的值嗎?

  • 分享至 

  • xImage

您好:
如下
我先用

   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>
ccutmis iT邦高手 2 級 ‧ 2024-11-21 08:31:05 檢舉
如果只是要 prod-itemlist-0010963477 裡面的 0010963477 值,也可以用 regEXP,
例如:
htm="""
<div class="table-td" id="prod-itemlist-0010963477">
<div class="box">...略...
"""
import re
id_ls=re.findall('id="prod-itemlist-([^"]+)"',htm)
print(id_ls)
# 印出結果為串列: ['0010963477']
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
hokou
iT邦好手 1 級 ‧ 2024-11-21 08:17:01

這樣試試看?

前略

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

我要發表回答

立即登入回答