为什么我的CSV文件在代码运行后显示为空?

mxg2im7a  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(605)

我是非常新的编码,并试图得到一个基本的网页抓取代码的工作。代码的工作刚刚好,问题是,我不能得到CSV文件有任何信息。任何帮助将不胜感激。

from bs4 import BeautifulSoup

import requests

import csv

page_to_scrape = requests.get("https://www.scrapethissite.com/pages/")
soup = BeautifulSoup(page_to_scrape.text, "html.parser")
descriptions = soup.findAll("p", attrs=("class" == "lead session-desc"))
titles = soup.findAll("h3", attrs=("class" == "page-title"))

with open("scrapeinformation.csv", "w", newline="") as f:
    thewriter = csv.writer(f)

    for title, desc in zip(titles, descriptions):
        print(title.text + " - " + desc.text)
        thewriter.writerow([title.text, desc.text])
f.close()
2ic8powd

2ic8powd1#

你真的 * 确定 * csv是空的吗?当我运行你的代码时,我注意到当我在Excel中查看时,文件 * 看起来 * 是空的,但如果我用记事本或Google Sheets打开,就不会了,而且print(title.text + " - " + desc.text)显示单元格条目周围有很多空白。
因此,实际上Excel单元格只是在开始处显示空白,因为默认格式不会显示超出单元格大小的内容。我可以在执行以下操作后看到内容:
1.按Ctrl + A选择全部,然后
1.通过按Alt + H + W切换Wrap Text设置(如果第一次看起来没有差异,请尝试再次切换)
然而,我个人在这里推荐的方法是首先删除空格-您可以通过使用strip() method(如.text.strip())或使用.get_text(strip=True)而不是.text来实现。

相关问题