我想搜刮一個網站,我需要獲得所有與我的搜索字串的第一個字符相匹配的標簽。
所以基本上有一些像這樣的div:
< div class="" style="" id="uni-item-229925"> < /div>
<div class="" style="" id="uni-item-223625">> </div>
<div class="" style="" id="uni-item-229325">> </div>。
而且我想知道所有以uni-item開頭的div,不管它們的結尾數字是什么。
如果它們都是一樣的,我將會使用這個方法:
但是對于這個特定的用例,我毫無頭緒,非常感謝您的幫助 uj5u.com熱心網友回復: 我認為John Clements在這里很好地回答了這個問題(雙關)。
https://stackoverflow.com/a/14257743/16068811 所以在你的案例中: 或者 還沒試過,但應該能行。 uj5u.com熱心網友回復: 你可以使用css選擇器輕松做到這一點,如下所示: uj5u.com熱心網友回復: 試一下: 輸出:
標籤:items = item = item.com
items = soup.find_all('div', {"class": "uni-item"})/code>items = soup.findAll("div"/span>, {"id"/span> : re. compile('uni-item.*'/span>)})
items = soup. findAll("div", {"id" : lambda L: L and L.startswith('uni-item')})
items = soup.select('div[#id^ = "uni-item"]'/span>)
from bs4 import BeautifulSoup
html = '''
<div class="" style="" id="uni-item-229925"> </div>
<div class="" style="" id="uni-item-223625"></div>
<div class="" style="" id="uni-item-229325"></div>
<div class="" style="" id="229325"></div>
''/span>
soup = BeautifulSoup(html , 'html.parser')
items = soup. findAll("div"/span>, {"id"/span> : lambda x: x and 'uni-item' == x[:8]})
print(*items, sep='
')
< div class="" id="uni-item-229925" style="> </div>
<div class="" id="uni-item-223625" style="> </div>
<div class="" id="uni-item-229325" style="> </div>
