J'essaie de gratter les URL du site Web au format html. J'utilise une belle soupe. Voici une partie du code HTML.Python Belle soupe pour gratter les URL à partir d'une page Web
<li style="display: block;">
<article itemscope itemtype="http://schema.org/Article">
<div class="col-md-3 col-sm-3 col-xs-12" >
<a href="/stroke?p=3083" class="article-image">
<img itemprop="image" src="/FileUploads/Post/3083.jpg?w=300&h=160&mode=crop" alt="Banana" title="Good for health">
</a>
</div>
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="article-content">
<a href="/stroke">
<img src="/assets/home/v2016/img/icon/stroke.png" style="float:left;margin-right:5px;width: 4%;">
</a>
<a href="/stroke?p=3083" class="article-title">
<div>
<h4 itemprop="name" id="playground">
Banana Good for health </h4>
</div>
</a>
<div>
<div class="clear"></div>
<span itemprop="dateCreated" style="font-size:10pt;color:#777;">
<i class="fa fa-clock-o" aria-hidden="true"></i>
09/10 </span>
</div>
<p itemprop="description" class="hidden-phone">
<a href="/stroke?p=3083">
I love Banana.
</a>
</p>
</div>
</div>
</article>
</li>
Mon code:
from bs4 import BeautifulSoup
re=requests.get('http://xxxxxx')
bs=BeautifulSoup(re.text.encode('utf-8'), "html.parser")
for link in bs.find_all('a') :
if link.has_attr('href'):
print (link.attrs['href'])
Le résultat affiche toutes les urls de cette page, mais ce n'est pas ce que je cherche, je veux seulement un particulier comme «/accident vasculaire cérébral? p = 3083 "dans cet exemple comment puis-je définir la condition en python? (Je sais qu'il y a trois "/ stroke? P = 3083", mais j'en ai juste besoin)
Une autre question. Cette URL n'est pas complète, je dois les combiner avec "http://www.abcde.com" donc le résultat sera "http://www.abcde.com/stroke?p=3083". Je sais que je peux utiliser coller dans R, mais comment faire cela en Python? Merci d'avance! :)