找到所有的<ul>
后,我想进一步提取文字和href
的。我对这一点HTML所特别关注的问题是,我需要大部分,但不是页面中的所有<li>
项目。我看到当我find_all()
,我返回一个列表对象,它不允许我进一步导航它作为汤对象。
例如,在下面的代码片段,最终创造{'cityName': 'href',}
一本字典,我曾尝试:是否有替代bs4的find_all()方法返回另一个汤对象,而不是一个列表,为进一步导航?
city_list = soup.find_all('ul', {'class': ''})
city_dict = {}
for city in city_list:
city_dict[city.text] = city['href']
下面是示例最小HTML:
<h4>Alabama</h4>
<ul>
<li><a href="https://auburn.craigslist.org/">auburn</a></li>
<li><a href="https://bham.craigslist.org/">birmingham</a></li>
<li><a href="https://tuscaloosa.craigslist.org/">tuscaloosa</a></li>
</ul>
<h4>Alaska</h4>
<ul>
<li><a href="https://anchorage.craigslist.org/">anchorage/mat-su</a></li>
<li><a href="https://juneau.craigslist.org/">southeast alaska</a></li>
</ul>
<h4>Arizona</h4>
<ul>
<li><a href="https://flagstaff.craigslist.org/">flagstaff/sedona</a></li>
<li><a href="https://yuma.craigslist.org/">yuma</a></li>
</ul>
<ul>
<li><a href="https://www.craigslist.org/about/help/">help</a></li>
<li><a href="https://www.craigslist.org/about/scams">safety</a></li>
<li class="fsel mobile linklike" data-mode="regular">desktop</li>
</ul>
我如何,本质上,find_all()
ul
的第一个,然后进一步发现只有li
的那个我感兴趣?
'的( 'UL')UL在soup.find_all:#做一些与ul是汤对象找到你想要的东西...'? –