нужны title, например ISO 225:2010. Как взять только это значение, ведь у меня взводится ISO 225:1983 и ISO 225:2010? вот код: for line in lines:
print(line)
q = requests.get(line)
result = q.content
bs = BeautifulSoup(result, 'html.parser')
row = bs.find_all('div', class_="clearfix icon")
for i in row:
a = i.find('a').find_next('div', class_="entry-title",).text
print(a) и блоки <div class="clearfix icon">
<h6>
<a href="/standard/4098.html?browse=tc" >
<div class="entry-title">
<span class="glyphicon glyphicon-ban-circle"></span>ISO 225:1983
</div>
</a>
</h6>
<div class="entry-summary">
Fasteners — Bolts, screws, studs and nuts — Symbols and designations of dimensions
</div>
</div>
</td>
<td data-title="Stage">
<a href="/home/developing-standards/resources/stage-codes.html#95.99">95.99</a>
</td>
<td data-title="ICS">
<ul class="list-unstyled">
<li><a href="/ics/21.060.10.html">21.060.10</a></li>
</ul>
</td>
</tr>
<tr ng-show="pChecked || pChecked == null">
<td data-sort="1" data-title="Standard and/or project">
<div class="clearfix icon">
<h6>
<a href="/standard/45872.html?browse=tc" >
<div class="entry-title">
<span class="glyphicon glyphicon-ok-circle"></span>ISO 225:2010
</div>
</a>
</h6>
<div class="entry-summary">
Fasteners — Bolts, screws, studs and nuts — Symbols and descriptions of dimensions
</div>
</div>
Это какой-то парсинг данных весьма жлобской организации ISO. Возможно, они противодействуют парсингу и имитировать браузер не такая уж плохая идея
тут урла нет. на подобные темы кратко писал здесь: https://habr.com/ru/post/650899/ каждый раз по-своему. it depends
привет) вот так попробуйте: from bs4 import BeautifulSoup html = ''' <h6> <a href="/standard/4098.html?browse=tc" > <div class="entry-title"> <span class="glyphicon glyphicon-ban-circle"></span>ISO 225:1983 </div> </a> </h6> <div class="entry-summary"> Fasteners — Bolts, screws, studs and nuts — Symbols and designations of dimensions </div> </div> </td> <td data-title="Stage"> <a href="/home/developing-standards/resources/stage-codes.html#95.99">95.99</a> </td> <td data-title="ICS"> <ul class="list-unstyled"> <li><a href="/ics/21.060.10.html">21.060.10</a></li> </ul> </td> </tr> <tr ng-show="pChecked || pChecked == null"> <td data-sort="1" data-title="Standard and/or project"> <div class="clearfix icon"> <h6> <a href="/standard/45872.html?browse=tc" > <div class="entry-title"> <span class="glyphicon glyphicon-ok-circle"></span>ISO 225:2010 </div> </a> </h6> <div class="entry-summary"> Fasteners — Bolts, screws, studs and nuts — Symbols and descriptions of dimensions </div> </div> ''' soup = BeautifulSoup(html, 'html.parser') iso_all = soup.find_all('div', {'class': 'entry-title'}) temp = [] for iso in iso_all: temp.append(iso.get_text().strip()) # print(temp) # все print(temp[0]) # только первый # аналогичный код в одну строку ([0] - значит, что берётся только первый): iso = soup.find_all('div', {'class': 'entry-title'})[0].get_text().strip() print(iso)
Обсуждают сегодня