我试图通过将每个页码应用于该网址,然后将其存储在列表中,来抓取该网址的多个页面。 执行迭代时,仅抓取第一页中的内容,而不抓取其余内容。哪里错了?
df = pd.DataFrame()
list_of_links = []
url = 'https://marknadssok.fi.se/publiceringsklient?Page='
for link in range(1,10):
urls = url + str(link)
list_of_links.append(urls)
#Establish connection
for i in list_of_links:
r = requests.get(i)
html = BeautifulSoup(r.content, "html.parser")
#Append each column to it's attribute
table_body=html.find('tbody')
rows = table_body.find_all('tr')
data = []
for row in rows:
cols=row.find_all('td')
cols=[x.text.strip() for x in cols]
data.append(cols)
df = pd.DataFrame(data, columns=['Publiceringsdatum', 'utgivare', 'person', 'befattning',
'Närstående', 'karaktär', 'Instrumentnamn', 'ISIN', 'transaktionsdatum',
'volym', 'volymsenhet', 'pris', 'valuta', 'handelsplats',
'status', 'detaljer' ])
答案 0 :(得分:0)
问题在于,存储URL内容的数据变量具有for循环含义。通过将其移出for循环来解决