こんにちは。
以下のようなスクリプトでいかがでしょうか?
scraping.py:
python
1from bs4 import BeautifulSoup
2
3search_attr = 'data-tooltip-content'
4
5with open('./test.html') as f:
6 soup = BeautifulSoup(f.read(), 'lxml')
7 items = [item[search_attr] for item in soup.find_all() if search_attr in item.attrs]
8 print(items)
上記の scraping.py を使って、以下の test.html を解析します。
(※ scraping.py と test.html は、 同じディレクトリ内に作成してあるものとします)
test.html (テスト用HTML):
html
1<!DOCTYPE html>
2<html lang="ja">
3<head>
4 <meta charset="UTF-8">
5 <title>test</title>
6</head>
7<body>
8<ul>
9 <li
10 data-ng-repeat="skuItemOption in skuItem.PropertyList track by $index"
11 data-tooltip-content="缺貨中1"
12 data-ng-class="{'actived': ddToCartDirectiveCtrl.IsSKUSelected(skuItemIndex+1, skuItemOption), 'disabled tooltip tooltip-bottom': 'unselected': (!SelectedSKUPropertySet&&skuItemIndex!=0)|| SelectedSKUPropertySet===null}" class="sku-li disabled tooltip tooltip-bottom" data-ng-hide="AddToCartDirectiveCtrl.IsSKUHidden(skuItemIndex+1, skuItemOption)"><a ng-click="AddToCartDirectiveCtrl.SelectSku(skuItemIndex+1, skuItemOption, skuItem.Title)" href="javascript:void(0)" class="sku-link" ng-bind="skuItemOption.Name">40</a>
13 </li>
14 <li
15 data-ng-repeat="skuItemOption in skuItem.PropertyList track by $index"
16 data-tooltip-content="缺貨中2"
17 data-ng-class="{'actived': ddToCartDirectiveCtrl.IsSKUSelected(skuItemIndex+1, skuItemOption), 'disabled tooltip tooltip-bottom': 'unselected': (!SelectedSKUPropertySet&&skuItemIndex!=0)|| SelectedSKUPropertySet===null}" class="sku-li disabled tooltip tooltip-bottom" data-ng-hide="AddToCartDirectiveCtrl.IsSKUHidden(skuItemIndex+1, skuItemOption)"><a ng-click="AddToCartDirectiveCtrl.SelectSku(skuItemIndex+1, skuItemOption, skuItem.Title)" href="javascript:void(0)" class="sku-link" ng-bind="skuItemOption.Name">40</a>
18 </li>
19 <li
20 data-ng-repeat="skuItemOption in skuItem.PropertyList track by $index"
21 data-tooltip-content="缺貨中3"
22 data-ng-class="{'actived': ddToCartDirectiveCtrl.IsSKUSelected(skuItemIndex+1, skuItemOption), 'disabled tooltip tooltip-bottom': 'unselected': (!SelectedSKUPropertySet&&skuItemIndex!=0)|| SelectedSKUPropertySet===null}" class="sku-li disabled tooltip tooltip-bottom" data-ng-hide="AddToCartDirectiveCtrl.IsSKUHidden(skuItemIndex+1, skuItemOption)"><a ng-click="AddToCartDirectiveCtrl.SelectSku(skuItemIndex+1, skuItemOption, skuItem.Title)" href="javascript:void(0)" class="sku-link" ng-bind="skuItemOption.Name">40</a>
23 </li>
24</ul>
25</body>
26</html>
scraping.py を実行すると以下が表示されると思います。
['缺貨中1', '缺貨中2', '缺貨中3']
参考までに、以下は私の手元のMacで実行したログです。
以上、参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/23 22:34
2018/10/23 22:38