我对val weightsMatrix_t = weightsMatrix.transpose
不熟悉。我打算
a)从以下URL(https://aviation-safety.net/database/)获取URL列表,并提供1919年以后(https://aviation-safety.net/database/dblist.php?Year=1919)的数据。
b)获取1919年到当年的数据(日期,类型,注册,操作者,肥胖,位置,猫)
但是,我遇到了一些问题,但仍然陷于a)
感谢任何形式的帮助,非常感谢!
python
我似乎无法获得网址
如果我能得到以下的话,那将是很棒的
S / N URL 1 https://aviation-safety.net/database/dblist.php?Year=1919 2 https://aviation-safety.net/database/dblist.php?Year=1920 3 https://aviation-safety.net/database/dblist.php?Year=1921
答案 0 :(得分:1)
您不是从要提取的标签中提取href
属性。您想要做的是找到所有带有链接的<a>
标签(您已经做了,但是您需要使用find_all
,因为find
只会返回它找到的第一个标签。)然后遍历这些标签。我选择只是让它寻找子字符串'Year'
,如果确实如此,则将其放入列表中。
#import packages
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup
import requests
#start of code
mainurl = "https://aviation-safety.net/database/"
def getAndParseURL(mainurl):
result = requests.get(mainurl)
soup = BeautifulSoup(result.content, 'html.parser')
datatable = soup.find_all('a', href = True)
return datatable
datatable = getAndParseURL(mainurl)
#go through the content and grab the URLs
links = []
for link in datatable:
if 'Year' in link['href']:
url = link['href']
links.append(mainurl + url)
#check if links are in dataframe
df = pd.DataFrame(links, columns=['url'])
df.head(10)
输出:
df.head(10)
Out[24]:
url
0 https://aviation-safety.net/database/dblist.ph...
1 https://aviation-safety.net/database/dblist.ph...
2 https://aviation-safety.net/database/dblist.ph...
3 https://aviation-safety.net/database/dblist.ph...
4 https://aviation-safety.net/database/dblist.ph...
5 https://aviation-safety.net/database/dblist.ph...
6 https://aviation-safety.net/database/dblist.ph...
7 https://aviation-safety.net/database/dblist.ph...
8 https://aviation-safety.net/database/dblist.ph...
9 https://aviation-safety.net/database/dblist.ph...