2017-03-11 6 views
0

私は、Webページから画像の特定のリンクを切り離そうとしていますが、そこにはアクセスできません。Python Web Scraping:特定のリンクを見つける

<head> 
    <img alt="Generic title" src="https://genericURL/photo/picture.jpg/"> 
    <img src="https://genericurl/.../"> 
    <img src="https://genericurl/.../"> 
    .... 

は、私は多くのリンクを返すことができるが、私は特にしたいリンクが示さトップ1は、それが/photo/picture.jpgを含む唯一のリンクです:HTMLは次のように見えます。 私はFind specific link text with bs4と他のバリエーションから答えを使用しようとしましたが、まだ理解していません。誰も見てみることができますか?

マイコード:

links = soup.findAll('img', {'src': re.compile('^http://image\d+')}) 
for link in links: 
    print(link.text) 

編集:私は、リンクの形式は、私が使用したフィルター、例えばに基づいて変更されたことに気づいたの提案を使用して:私は、Webページ全体を印刷した私は、リンクを見てhttp://image...。しかし、私がfindAll('img', {'src' ...を使用していたとき、リンクはhttps://imgとして出力されていましたので、間違ったものをrecompileしようとしていました。

+0

なぜ、re.compile( "photo/picture.jpg") 'はありませんか? – Psidom

答えて

0
import re 
links = soup.findAll('img', {'src': re.compile('^http://image\d+')}) 
for link in links: 
    if re.search('photo\/pictures\.jpg', link.get('href', ''), re.IGNORECASE): 
     link_i_want = link.get('href') 
     break 
3
soup.find_all("img", alt="Generic title") 

あなたはフィルタとしてaltを使用する必要があります。

関連する問題