BeautifulSoup with dynamic href

时间:2016-03-22 19:33:25

标签: python-3.x beautifulsoup href

尝试使用python 3.4 beautifulsoup从网页上获取一个zip文件,这样我就可以解压缩并将其下载到一个文件夹中。我可以获得beautifulsoup打印()页面上的所有href,但我想要一个特定的href 结尾,“= Hospital_Revised_Flatfiles.zip”。那可能吗?这是我到目前为止,只有来自网址的href列表。

文件的完整href为https://data.medicare.gov/views/bg9k-emty/files/Dlx5-ywq01dGnGrU09o_Cole23nv5qWeoYaL-OzSLSU?content_type=application%2Fzip%3B%20charset%3Dbinary&filename=Hospital_Revised_Flatfiles.zip 但是,当他们更新文件时,中间的疯狂东西会发生变化,而且无法知道它的变化。

如果我遗漏了一些可能有用的问题,请告诉我。我正在使用Python 3.4和BeautifulSoup4(bs4)

from bs4 import BeautifulSoup 
import requests
import re

url = "https://data.medicare.gov/data/hospital-compare"

r = requests.get(url)

data = r.text

soup = BeautifulSoup(data)

for link in soup.find_all('a'):
    print(link.get('href'))

1 个答案:

答案 0 :(得分:1)

from BeautifulSoup import BeautifulSoup 
import requests
import re

url = "https://data.medicare.gov/data/hospital-compare"

r = requests.get(url)

data = r.text

soup = BeautifulSoup(data)

for link in soup.findAll('a'):
   if link.has_key('href'):
      if(link['href'].endswith("=Hospital_Revised_Flatfiles.zip")):
         print(link['href'])