我正在使用BeautifulSoup来解析VC网站上的公司列表。我已经找到了要迭代的正确元素,但我似乎无法获得这些元素本身的数据。
下面是我正在浏览的示例HTML:
<div id="content" class="site-content">
<main id="primary" class="content-area" role="main">
<header class="page-header">
<main id="portfolio-landing-company-list" class="page-content">
<section id="portfolio__list--grid" class="portfolio__list--all">
<div class="company company-stage--venturegrowth company-type--enterprise company--single-company">
<div class="company__thumbnail company__thumbnail-link">
<a href="http://www.domain1.com" title="Company1" target="_blank">
</div>
</div>
<div class="company company-stage--seed company-type--bio company--single-company">
<div class="company__thumbnail company__thumbnail-link">
<a href="http://www.domain2.com" title="Company2" target="_blank">
</div>
</div>
这就是我目前使用BeautifulSoup和的方式这部分工作起来很棒,
portfolio = soup.find('div', attrs={'class': 'portfolio-tiles'})
for eachco in portfolio.find_all('article'):
companyname = eachco.a['title']
companyurl = eachco.a['href']
但是我想要做的是从这里获取类元素,
<div class="company company-stage--venturegrowth company-type--enterprise company--single-company">
or
<div class="company company-stage--seed company-type--bio company--single-company">
(列表中的每个公司都有多个变体)
我尝试使用以下命令遍历:
portfolio = soup.find('div', attrs={'class': 'portfolio-tiles'})
for eachco in portfolio.find_all('article'):
companyattributes = eachco.div['class']
但这就吐出了一排排:
['company__thumbnail', 'company__thumbnail-link']
(也就是,低于我想要的级别)
我怎么才能遍历所有的结果,却得到每个结果的类元素呢?我感觉我遗漏了一些非常基本的东西,但如果有人能帮我弄清楚那是什么,我将不胜感激!
更新
我最终选择了下面的方法,这使得所有的东西都在一起工作:
portfolio = soup.find_all('div', class_=re.compile("company company-"))
for eachco in portfolio:
coname = eachco.a['title']
courl = eachco.a['href']
cotypes = eachco['class']
costage = cotypes[1]
comarket = cotypes[2]
https://stackoverflow.com/questions/54936196
复制相似问题