我是非常新的编码,并试图得到一个基本的网页抓取代码的工作。代码的工作刚刚好,问题是,我不能得到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()
1条答案
按热度按时间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
来实现。