【发布时间】:2018-11-23 09:54:49
【问题描述】:
如何使用 Python 以类和方法格式从 hrefs 中获取 hrefs? 我试过了:
root_url = 'https://www.iea.org'
class IEAData:
def __init__(self):
try:--
except:
def get_links(self, url):
all_links = []
page = requests.get(root_url)
soup = BeautifulSoup(page.text, 'html.parser')
for href in soup.find_all(class_='omrlist'):
all_links.append(root_url + href.find('a').get('href'))
return all_links
#print(all_links)
iea_obj = IEAData()
yearLinks = iea_obj.get_links(root_url + '/oilmarketreport/reports/')
reportLinks = []
for url in yearLinks:
links =iea_obj.get_links(yearLinks)
print(links)
推荐:链接变量必须有所有月份的href但不能获取,所以请告诉我应该怎么做。
【问题讨论】:
-
这里有什么问题?你有错误吗?如果有,有哪些?我可以立即看到的是,您在最后一个循环中调用了
iea_obj.get_links(yearLinks),其中yearLinks是一个列表,但该函数期望它的参数是一个字符串。我想你的意思是links =iea_obj.get_links(url)。 -
在python的类和方法格式中,我需要解析所有链接,这些链接存在于hrefs中,即如果你点击years href,那么你会得到months href,但是在类和方法格式中
标签: python web-scraping beautifulsoup