当遇到需要附加的空数据框时,熊猫似乎正在擦除已存储在数据框中的数据。当我的抓取工具遇到没有结果的搜索词时,因为没有要抓取的链接,因此一旦添加了先前抓取的所有数据后,便返回空,就会发生这种情况。
在实施熊猫之前,我只是在一个邮政编码列表中搜索一个搜索词,然后必须重新运行每个搜索词。这个工作很好,但是很慢,我不得不忍受,所以不是很实用。
##loop through total number of pages and grab each link
for i in range(1, (int(pageTotal[10:]) + 1)):
url = ('someUrl&PageNum')
print(url)
browser.get(url)
f = browser.page_source
content = BeautifulSoup(f, "html.parser")
for link in content.findAll('div', attrs = {'class': 'someClass'}):
for item in link.findAll('a', attrs = {'class': 'someOtherClass'}):
l = [item['href']]
##Should append links into panda dataframe, link to column 1('url'), search term into column 2('search')
df = df.append({'url':l, 'search':search1}, ignore_index=True)
#What I was using before implementing pandas
#writer.writerow([item['href']])
print(df)
df.to_csv('somePath/abc.csv', index=False)
我正在输出一个数据帧。但是,当它遇到“空数据框”时,该数据框中的所有内容都将消失。我输出的数据很好并且格式正确。但是,如果我通过它运行1000个URL,而URL 995产生一个空的数据帧,那么我将仅获得4行数据。
目标是输出带有URL的CSV和用于获取该URL的搜索词作为列。然后,我将使用该CSV刮取输出的URL以获取实际数据,但需要知道搜索的内容并将其与数据一起输出。最终,我想为每个搜索词实施多处理/多线程处理,以减少运行它们的时间。