为什么熊猫数据框在遇到遇到的问题时会删除所有信息,并清空df以追加

时间:2019-06-05 15:11:57

标签: python pandas dataframe

当遇到需要附加的空数据框时,熊猫似乎正在擦除已存储在数据框中的数据。当我的抓取工具遇到没有结果的搜索词时,因为没有要抓取的链接,因此一旦添加了先前抓取的所有数据后,便返回空,就会发生这种情况。

在实施熊猫之前,我只是在一个邮政编码列表中搜索一个搜索词,然后必须重新运行每个搜索词。这个工作很好,但是很慢,我不得不忍受,所以不是很实用。

        ##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以获取实际数据,但需要知道搜索的内容并将其与数据一起输出。最终,我想为每个搜索词实施多处理/多线程处理,以减少运行它们的时间。

0 个答案:

没有答案