как получить конкретную ссылку с красивым супом и питоном - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь получить URL-адрес для загрузки в этом td теге

<a href="https://dibbs2.bsm.dla.mil/Downloads/Awards/18SEP19/GS07F5933RSPEFA519F0433.PDF" target="DIBBSDocuments" title="Link To Delivery Order Document"><img alt="PDF Document" border="0" height="16" hspace="2" src="https://www.dibbs.bsm.dla.mil/app_themes/images/icons/IconPdf.gif" width="16"/></a>, <a href="https://dibbs2.bsm.dla.mil/Downloads/Awards/18SEP19/GS07F5933RSPEFA519F0433.PDF" target="DIBBSDocuments" title="Link To Delivery Order Document">SPEFA519F0433</a>

Мой код выдает следующие результаты:

downloandurl=batch.select("a[href*=https://dibbs2.bsm.dla.mil/Downloads/Awards/]")

как мне получить URL href из тега

Я пытаюсь получить это

https://dibbs2.bsm.dla.mil/Downloads/Awards/18SEP19/GS07F5933RSPEFA519F0433.PDF

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Чтобы получить значение href из тега привязки.

Используйте тег

  • ['hef']

ИЛИ

  • tag.get ('href')

ИЛИ

  • tag.attrs.get ('href')
from bs4 import BeautifulSoup
data='''<a href="https://dibbs2.bsm.dla.mil/Downloads/Awards/18SEP19/GS07F5933RSPEFA519F0433.PDF" target="DIBBSDocuments" title="Link To Delivery Order Document"><img alt="PDF Document" border="0" height="16" hspace="2" src="https://www.dibbs.bsm.dla.mil/app_themes/images/icons/IconPdf.gif" width="16"/></a>, <a href="https://dibbs2.bsm.dla.mil/Downloads/Awards/18SEP19/GS07F5933RSPEFA519F0433.PDF" target="DIBBSDocuments" title="Link To Delivery Order Document">SPEFA519F0433</a>'''
soup=BeautifulSoup(data,'html.parser')
for item in soup.select('a'):
    print(item['href'])
    print(item.get('href'))
    print(item.attrs.get('href'))


Если вы ищете какой-то конкретный тег привязки, добавьте еще условие в тег find, например.

for item in soup.select('a[target="DIBBSDocuments"]'):
    print(item['href'])
    print(item.get('href'))
    print(item.attrs.get('href'))

ИЛИ Запускается с href url.

for item in soup.select('a[href^="https://dibbs2.bsm.dla.mil/Downloads/Awards"]'):
    print(item['href'])
    print(item.get('href'))
    print(item.attrs.get('href'))
0 голосов
/ 20 сентября 2019

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

Попробуйте это:

from bs4 import BeautifulSoup
import requests, re
''' Don't forget to install/setup package = 'lxml' '''



url = "http://www.github.com"

response = requests.get(url)

data = response.text

soup = BeautifulSoup(data,'lxml')

tags = soup.find_all('a')

''' This will print every available link'''

for tag in tags:                       
    print(tag.get('href'))

''' this will print links with only prefix as given'''
for link in soup.find_all('a',attrs={'href': re.compile("^https://github")}):
    print(link.get('href')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...