【问题标题】:Download pdf files without .pdf url下载没有 .pdf url 的 pdf 文件
【发布时间】:2019-08-17 04:51:00
【问题描述】:

我正在尝试从this website 下载 PDF 文件。

我是 Python 新手,目前正在学习该软件。我已经下载了 urllib 和 bs4 等软件包。但是,任何 URL 中都没有 .pdf 扩展名。相反,每个都具有以下格式:http://www.smv.gob.pe/ConsultasP8/documento.aspx?vidDoc={.....}

我尝试过使用 soup.find_all 命令。然而,这并不成功。

from urllib import request
from bs4 import BeautifulSoup
import re
import os
import urllib

url="http://www.smv.gob.pe/frm_hechosdeImportanciaDia?data=38C2EC33FA106691BB5B5039DACFDF50795D8EC3AF"
response = request.urlopen(url).read()
soup= BeautifulSoup(response, "html.parser")    
links = soup.find_all('a', href=re.compile(r'(http://www.smv.gob.pe/ConsultasP8/documento.aspx?)'))
print(links)

【问题讨论】:

  • 检查我的答案。它与您的代码非常相似。我会说检查 request.urlopen(url).read() 是否为您提供了预期的文本。

标签: python python-3.x python-requests


【解决方案1】:

这对我有用:

import re

import requests
from bs4 import BeautifulSoup

url = "http://www.smv.gob.pe/frm_hechosdeImportanciaDia?data=38C2EC33FA106691BB5B5039DACFDF50795D8EC3AF"
response = requests.get(url).content
soup = BeautifulSoup(response, "html.parser")
links = soup.find_all('a', href=re.compile(r'(http://www.smv.gob.pe/ConsultasP8/documento.aspx?)'))
links = [l['href'] for l in links]
print(links)

唯一的区别是我使用requests,因为我已经习惯了,我从BeautifulSoup 中为每个返回的Tag 获取href 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 2019-07-14
    • 2019-12-16
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多