【发布时间】:2021-09-13 02:00:07
【问题描述】:
我查看了大部分帖子,但没有找到我的小问题的回复。
这是我要抓取的下拉菜单:
<div class="input-box">
<select name="super_attribute[138]" id="attribute138" class="required-entry super-attribute select form-control" onchange="notifyMe(this.value, this.options[this.selectedIndex].innerHTML);">
<option value="">Choose an Option...</option>
<option value="17" price="0">M (in stock) </option>
<option value="18" price="0">L (out of stock) </option>
<option value="15" price="0">XL (in stock) </option>
<option value="52" price="0">XXL (in stock) </option>
</select>
</div>
我的 Python 代码是:
items = soup.select('option[value]')
values = [item.get('value') for item in items]
textvalues = [item.text for item in items]
print(textvalues)
输出是: ['select', '(In-Stock)', '(Out-Stock)', '(In-Stock)', '(In-Stock)']
我的要求是我还需要其他值(SizeValue 和 SizeName): 17 & M / 18 & L / 15 & XL / 52 & XXL
如果我删除了 .text ,我有这个输出:
<option value="">select</option>, <option value="200@#-(In-Stock)@#-https://store.alsabihmarine.com/index.php/diving-equipments/wetsuits/camouflage-hooded-suits-220.html@#-">(In-Stock)</option>, <option value="201@#-(Out-Stock)@#-https://store.alsabihmarine.com/index.php/diving-equipments/wetsuits/camouflage-hooded-suits-220.html@#-">(Out-Stock)</option>, <option value="202@#-(In-Stock)@#-https://store.alsabihmarine.com/index.php/diving-equipments/wetsuits/camouflage-hooded-suits-220.html@#-">(In-Stock)</option>, <option value="203@#-(In-Stock)@#-https://store.alsabihmarine.com/index.php/diving-equipments/wetsuits/camouflage-hooded-suits-220.html@#-">(In-Stock)</option>
提前感谢您的帮助。
【问题讨论】:
标签: python beautifulsoup combobox dropdown screen-scraping