簡體   English   中英

使用 Python 從多個 URL 中提取文件/(kml)

[英]Using Python to pull files/(kml's) from multiple URLs

我是 python 的初學者,我正在嘗試自動化一個涉及訪問站點的過程: http://www.wildcad.net/WildCADWeb.asp並單擊每個調度中心,例如: http://www. wildcad.net/WCAZ-ADC.htm ,從那里加載 kml。 我注意到每個頁面都遵循類似的格式,所以我想我可以使用 select 所有 function。我把我的代碼寫成...

 from bs4 import BeautifulSoup import requests urls = ('http://www.wildcad.net/WCAZ-ADC.htm', 'http://www.wildcad.net/WCALAIC.htm', 'http://www.wildcad.net/WCAR-AOC.htm','http://www.wildcad.net/WCAZ-ADC.htm' 'http://www.wildcad.net/WCAZ-FDC.htm', 'http://www.wildcad.net/WCAZ-PDC.htm' 'http://www.wildcad.net/WCAZ-PHC.htm', 'http://www.wildcad.net/WCAZ-SDC.htm' 'http://www.wildcad.net/WCAZ-TDC.htm', 'http://www.wildcad.net/WCAZ-WDC.htm') result = requests.get(urls) doc = BeautifulSoup(result.text, 'html.parser') print(doc.prettify()) for i in enumerate(soup.findAll('a')): _KML = urls + link.get('href') if _KML.endswith('.kml'): urls.append(_KML) open(_KML)

但是,它似乎並沒有提取文件,而且我一直在“65”行收到錯誤消息任何有關如何解決此問題的指導或示例將不勝感激!

工作代碼。 請運行代碼。

import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup

url = 'http://www.wildcad.net/WildCADWeb.asp'

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
time.sleep(2)
driver.get(url)
time.sleep(5)

soup = BeautifulSoup(driver.page_source, "html.parser")

for link in soup.select('table[align="center"] tbody tr td a')[1:]:
    url=link.get('href')
    #print(url)
    if url.endswith('.kml'):
        kml_url = url
        print(kml_url)

   

Output:

http://www.wildcad.net/WAearth.kml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM