Python靓汤刮href

2024-06-16 10:44:14 发布

您现在位置:Python中文网/ 问答频道 /正文

http://www.saij.gob.ar/resultados.jsp?r=%20fecha-rango:[19460101%20TO%2020211231]&b=avanzada&o=0&p=25&f=Total|Tipo%20de%20Documento/Legislaci%C3%B3n|Fecha|Organismo|Publicaci%C3%B3n|Tema|Estado%20de%20Vigencia|Autor|Jurisdicci%C3%B3n/Nacional&v=colapsada

我有一个问题,当我想从一个链接,我得到了href,我不明白为什么我不能得到它

这是我的密码: '''

for item in pages:
    r = requests.get(item)
    soup = BeautifulSoup(r.text, "html.parser")
    link = soup.find("dd", class_="tit-colapsado").find('a').attrs['href']
    links.append(link)
print(links)

''' 这应该打印出来[http://www.example.com,但它是打印的


Tags: httpwwwlinklinksfinditemrangoar
2条回答

您在页面上看到的链接是通过Json格式的JavaScript加载的。您可以使用requests模块来模拟Ajax请求:

import json
import requests


api_url = "http://www.saij.gob.ar/busqueda"
params = {
    "r": " fecha-rango:[19460101 TO 20211231]",
    "o": "0",
    "p": "25",
    "f": "Total|Tipo de Documento/Legislación|Fecha|Organismo|Publicación|Tema|Estado de Vigencia|Autor|Jurisdicción/Nacional",
    "s": "",
    "v": "colapsada",
}

cookies = {"IDNODO": ".cluster3"}

data = requests.get(api_url, params=params, cookies=cookies).json()

# uncomment to print all data:
# print(json.dumps(data, indent=4))

for r in data["searchResults"]["documentResultList"]:
    doc = json.loads(r["documentAbstract"])
    print(
        "http://www.saij.gob.ar/"
        + doc["document"]["metadata"]["friendly-url"]["description"]
        + "/"
        + doc["document"]["metadata"]["uuid"]
    )

印刷品:

http://www.saij.gob.ar/26-nacional-declaracion-monumento-historico-nacional-finca-samay-huasi-rioja-dn20210000026-2021-01-19/123456789-0abc-620-0000-1202soterced
http://www.saij.gob.ar/27-nacional-reglamentacion-regimen-legal-contrato-teletrabajo-dn20210000027-2021-01-19/123456789-0abc-720-0000-1202soterced
http://www.saij.gob.ar/31-nacional-exencion-pago-derecho-importacion-tasas-estadistica-comprobacion-gravan-importacion-para-consumo-buque-investigacion-pesquera-mar-argentino-al-instituto-nacional-investigacion-desarrollo-pesquero-dn20210000031-2021-01-20/123456789-0abc-130-0000-1202soterced
http://www.saij.gob.ar/30-nacional-aprobacion-modelo-contrato-garantia-fondo-financiero-para-desarrollo-cuenca-plata-modelo-contrato-contragarantia-gobierno-provincia-chaco-fin-cooperar-ejecucion-proyecto-inversion-social-salud-publica-provincia-chaco-dn20210000030-2021-01-20/123456789-0abc-030-0000-1202soterced
http://www.saij.gob.ar/35-nacional-modificacion-decreto-488-2020-sobre-actualizacion-precio-nafta-gasoil-desde-12-marzo-2021-dn20210000035-2021-01-22/123456789-0abc-530-0000-1202soterced
http://www.saij.gob.ar/36-nacional-autorizacion-universidad-atlantida-argentina-funcionar-como-institucion-universitaria-privada-forma-definitiva-dn20210000036-2021-01-22/123456789-0abc-630-0000-1202soterced
http://www.saij.gob.ar/38-nacional-ampliacion-temario-sesiones-extraordinarias-dn20210000038-2021-01-22/123456789-0abc-830-0000-1202soterced
http://www.saij.gob.ar/41-nacional-autorizacion-forma-provisoria-creacion-funcionamiento-instituto-universitario-agua-saneamiento-dn20210000041-2021-01-22/123456789-0abc-140-0000-1202soterced
http://www.saij.gob.ar/42-nacional-reglamentacion-ley-aporte-solidario-extraordinario-para-ayudar-morigerar-efectos-pandemia-dn20210000042-2021-01-28/123456789-0abc-240-0000-1202soterced
http://www.saij.gob.ar/17-nacional-homologacion-acta-acuerdo-comision-negociadora-convenio-colectivo-trabajo-general-para-administracion-publica-nacional-fecha-6-junio-2019-dn20210000017-2021-01-14/123456789-0abc-710-0000-1202soterced
http://www.saij.gob.ar/22-nacional-prorroga-ciento-ochenta-dias-intervencion-instituto-nacional-contra-discriminacion-xenofobia-racismo-dn20210000022-2021-01-18/123456789-0abc-220-0000-1202soterced
http://www.saij.gob.ar/61-nacional-designacion-mision-permanente-agregado-naval-embajada-republica-argentina-reino-espana-extension-sobre-reino-marruecos-reino-paises-bajos-dn20210000061-2021-01-29/123456789-0abc-160-0000-1202soterced
http://www.saij.gob.ar/107-nacional-autorizacion-forma-provisoria-creacion-funcionamiento-instituto-universitario-para-desarrollo-productivo-tecnologico-empresarial-argentina-dn20210000107-2021-02-21/123456789-0abc-701-0000-1202soterced
http://www.saij.gob.ar/141-nacional-designacion-embajador-extraordinario-plenipotenciario-republica-republica-croacia-dn20210000141-2021-03-04/123456789-0abc-141-0000-1202soterced
http://www.saij.gob.ar/134-nacional-modificacion-estructura-organizativa-secretaria-comunicacion-prensa-presidencia-nacion-dn20210000134-2021-03-02/123456789-0abc-431-0000-1202soterced
http://www.saij.gob.ar/104-nacional-reglamentacion-formula-movilidad-jubilatoria-dn20210000104-2021-02-12/123456789-0abc-401-0000-1202soterced
http://www.saij.gob.ar/105-nacional-duelo-nacional-motivo-fallecimiento-ex-presidente-republica-argentina-doctor-carlos-saul-menem-dn20210000105-2021-02-14/123456789-0abc-501-0000-1202soterced
http://www.saij.gob.ar/103-nacional-creacion-cargo-extraescalafonario-representante-especial-para-asuntos-derechos-humanos-ambito-internacional-ministerio-relaciones-exteriores-comercio-internacional-culto-dn20210000103-2021-02-12/123456789-0abc-301-0000-1202soterced
http://www.saij.gob.ar/106-nacional-incorporacion-temario-tratar-honorable-congreso-nacion-actual-periodo-sesiones-extraordinarias-modificacion-impuesto-ganancias-dn20210000106-2021-02-17/123456789-0abc-601-0000-1202soterced
http://www.saij.gob.ar/66-nacional-decreto-necesidad-urgencia-extiende-hasta-31-marzo-2021-congelamiento-alquileres-suspension-desalojos-dn20210000066-2021-01-29/123456789-0abc-660-0000-1202soterced
http://www.saij.gob.ar/113-nacional-habilitacion-pago-sentencia-dictada-corte-interamericana-derechos-humanos-caso-perrone-preckel-vs-argentina-concepto-indemnizacion-dn20210000113-2021-02-19/123456789-0abc-311-0000-1202soterced
http://www.saij.gob.ar/114-nacional-habilitacion-pago-sentencia-dictada-corte-interamericana-derechos-humanos-caso-hernandez-vs-argentina-concepto-indemnizacion-dn20210000114-2021-02-19/123456789-0abc-411-0000-1202soterced
http://www.saij.gob.ar/117-nacional-habilitacion-pago-sentencia-dictada-corte-interamericana-derechos-humanos-caso-jenkins-vs-argentina-concepto-indemnizacion-reintegro-al-fondo-asistencia-legal-victimas-mencionado-organismo-jurisdiccional-dn20210000117-2021-02-19/123456789-0abc-711-0000-1202soterced
http://www.saij.gob.ar/115-nacional-habilitacion-pago-sentencia-dictada-corte-interamericana-derechos-humanos-caso-lopez-otros-vs-argentina-concepto-indemnizacion-reintegro-al-fondo-asistencia-legal-victimas-mencionado-organismo-jurisdiccional-dn20210000115-2021-02-19/123456789-0abc-511-0000-1202soterced
http://www.saij.gob.ar/116-nacional-habilitacion-pago-sentencia-dictada-corte-interamericana-derechos-humanos-caso-romero-feris-vs-argentina-concepto-indemnizacion-dn20210000116-2021-02-19/123456789-0abc-611-0000-1202soterced

您可以使用下面的代码获取网页中的所有链接。如果您想查看网页链接的特定部分。更改soup.findAll函数

from bs4 import BeautifulSoup
from urllib.request import urlopen

URL = f"http://www.saij.gob.ar/resultados.jsp?r=%20fecha-rango:[19460101%20TO%2020211231]&b=avanzada&o=0&p=25&f=Total|Tipo%20de%20Documento/Legislaci%C3%B3n|Fecha|Organismo|Publicaci%C3%B3n|Tema|Estado%20de%20Vigencia|Autor|Jurisdicci%C3%B3n/Nacional&v=colapsada"
page = urlopen(URL).read()
soup = BeautifulSoup(page,'lxml')
links = soup.findAll('a')
for link in links:
    try:
        if(link['href'][0]=='/'):
            print (URL+link['href'])
        elif(link['href'][0]=='h'):
            print(link['href'])
        else:
            pass
    except:
        pass

输出: Output

相关问题 更多 >