【发布时间】:2020-11-13 09:44:15
【问题描述】:
我正在尝试使用 BeautifulSoup 从网站上抓取一些信息,但我遇到了很大的麻烦。我一直在寻找并试图弄清楚这几个小时,但我无法弄清楚。我正在尝试从 (https://www.duckduckgo.com/privacy) 中刮取公司的名称,并用粗体红色文本以及报价数量(描述底部的数字)。我知道代码目前只寻找“h2”而不是段落,我也知道完全匹配是一个超链接“a”但我找不到一次搜索多个类的解决方案一个标签,因为超链接的原始类是“class="link ng-binding"”,我不知道如何同时引用它们中的多个,所以我试图指出单个类“h2”标题其中包含超链接本身。这是我遇到问题的代码:
from urllib.request import urlopen
from bs4 import BeautifulSoup
# Scrape company names, offers
toScrape = "https://www.duckduckgo.com/privacy"
requestPage = urlopen(toScrape)
pageHTML = requestPage.read()
requestPage.close()
HTMLSoup = BeautifulSoup(pageHTML, 'html.parser')
scrapedItems = HTMLSoup.find_all('h2')
CSVExport = 'ConectHeader.csv'
save = open(CSVExport, 'w')
CSVHeaders = 'Price, stock\n'
for item in scrapedItems:
company = item.find('h2', class_="title").text
offers = item.find('p', class_="estates-cnt").text
save.write(company + '' + stock)
我的 IDE 中没有收到任何错误甚至警告。该过程以退出代码 0 结束,但是当我打开最终的 .csv 文件时,它不包含任何信息。我无法弄清楚为什么输出没有保存到 csv 文件中。我还尝试通过打印运行它,打印返回“[]”这可能意味着问题不是由保存到 csv 文件中的数据直接引起的。感谢任何人对此提供任何帮助,因此我现在正在扯掉我的头发!
【问题讨论】:
标签: python python-3.x beautifulsoup urllib urlopen