将数据刮到文本文件

时间:2017-12-01 03:22:50

标签: python python-3.x selenium text web-scraping

我想要将数据抓取到文本文件而不是csv。我觉得我使它变得比它应该更复杂,并且总是使用csv' s。

作为一个例子,我想说我想从堆栈溢出homepage上抓取.question-hyperlink

Txt :(类似)

With open('C:/dwadawd.txt', 'a', newline='',
                  encoding="utf-8") as outfile:
            writer = csv.writer(outfile)
            for row in zip(gz_text, ga_href):
                writer.writerow(row)
                print(row) 

我也尝试了以下内容:

#Scrapes from website
    # EXTRACT
    elems = driver.find_elements_by_css_selector('.question-hyperlink')
    ag_href = []

    for ag in elems:
        ag_href.append(elem.get_attribute("href"))

类似的东西:

    f = open('helloworld.txt', 'a')
    w.write(str(ag_href))
    f.write(' ')

输出似乎是空白的。

我尝试了不同的方法,但结果是一样的。有帮助吗?

1 个答案:

答案 0 :(得分:0)

this问题可能重复。

您必须在每次write函数调用后刷新文件:

f.flush()

为避免这种情况,您可以使用with打开文件,这可确保文件已关闭:

with open('file.txt', 'w') as f:
    f.write('some text')