我不知道我在做什么,但是此代码的目的是从多个页面中抓取所有链接href(没有故意包含分页代码)并将其存储在pandas DF中。循环结束后,我想从df2打印所有行。 “ for i in range(0,10)”仅运行循环10,并将链接附加10次。
我如何编码它以便它继续附加所有链接(不限于10个)?很抱歉成为新手。
for linkurl in linkcontainer:
link = linkurl.find_element_by_xpath('.//div[2]/div/div/span/a').get_attribute("href")
df_links = pd.DataFrame([[link]], columns=['link'])
df2 = pd.DataFrame()
for i in range(0,10):
df2 = df2.append(df_links)
/// loop breaks here when it paginates through all pages ///
print(df2.link.to_string(index=False, header=False))
答案 0 :(得分:1)
您正在做的是在每个循环中覆盖数据框,您需要将其存储到某种列表或字典中,例如:
links = []
for linkurl in linkcontainer:
link = linkurl.find_element_by_xpath('.//div[2]/div/div/span/a').get_attribute("href")
links.append(link)
# loop breaks here when it paginates through all pages
df2 = pd.DataFrame({'links' : links})
根据您的IDE,您可以通过多种方式打印行,
简单调用print(df2)
,或者如果您确实要遍历数据框
for index, row in df2.iterrows():
print(row)
答案 1 :(得分:0)
Iterrows
可以做到。
For ind, row in df_links.iterrows():
df2.loc[len(df2), :] = row