我想从网络获取所有URL,并将结果存储为变量。到目前为止,我已经找到以下代码:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://www.sport.es/") # Insert your URL to extract
bsObj = BeautifulSoup(html.read());
for link in bsObj.find_all('a'):
print(link.get('href'))
结果就是我想要的,但是我需要将其存储为变量以构建数据框。我该怎么办?
感谢所有人。
最诚挚的问候,
答案 0 :(得分:2)
首先,构造一个链接列表。您可以在for
循环中添加一个空列表:
list_of_links = []
for link in bsObj.find_all('a'):
list_of_links.append(link.get('href'))
或者,更简洁地说,您可以使用列表理解:
list_of_links = [link.get('href') for link in bsObj.find_all('a')]
然后,您可以通过字典将列表提供给pd.DataFrame
构造函数:
import pandas as pd
df = pd.DataFrame({'links': list_of_links})