Есть ли способ соскоблить различные href с одного и того же изображения? - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу очистить часть изображения с помощью BeautifulSoup. Тем не менее, я не имею ни малейшего понятия, есть ли в любом случае возможность вырезать различные ссылки из одного и того же источника изображения с другой страницы.

Например:

imgsource is /image/download.png

на каждой странице сети есть /image/download.png с разным href

Страница 1: /image/download.png with href http://www.example.com/number1

Страница 2: /image/download.png with href http://www.example.com/ABC

и т. Д.

Я хочу убрать все ссылки (href) с одинаковым изображением /image/download.png со всего сайта. Вы можете мне помочь?

HTML для изображения:

<p><a href="www.example.com/thisislink"><img src="/image/download.png" border="0" /></a></p>

Для начала я не получил от себя никакого кода, потому что я относительно новичок в Beautifulsoup, однако мне еще не удалось найти такой учебник, чтобы отбирать различные ссылки с одного изображения.

1 Ответ

0 голосов
/ 13 апреля 2019

Примерно так:

from bs4 import BeautifulSoup 

html_doc = """
     <p><a href="www.example.com/thisislink1"><img src="/image/download.png" border="0" /></a></p> 
     <p><a href="www.example.com/thisislink2"><img src="/image/download.png" border="0" /></a></p> 
     <p><a href="www.example.com/thisislink3"><img src="/image/other.png" border="0" /></a></p>
"""
soup = BeautifulSoup(html_doc, 'html.parser')  

for i in soup.find_all('img',src="/image/download.png"): 
    print(i.find_parent('a', href=True)['href']) 

# Out:                                                                                                                                        
# www.example.com/thisislink1
# www.example.com/thisislink2

Сначала найдите тег img с указанным src, а затем извлеките href из родительского тега.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...