gpt4 book ai didi

Python For 循环和 BeautifulSoup 结果转换为 CSV

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:25 24 4
gpt4 key购买 nike

我使用打印出结果的 For 循环从站点抓取了地址数据。我想将每个 For 循环的所有结果输出到 CSV 文件中的单独列中。当我尝试输出时,我只通过 For 循环获得最后一次迭代,并且包含所有庞大的 HTML 代码。 print street.text 打印位于具有 itemprop = address 的所有 span 标签内的所有数据。

到目前为止,这是我的代码:

soup = BeautifulSoup(response, "lxml");

for address in soup.find_all('span', {'itemprop' : 'address'}):
print address.text

有问题的 HTML:

<span itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress" id="yui_3_15_0_1_1405702066072_1576"><a href="/homedetails/403-James-Toney-Dr-Elon-NC-27244/96315551_zpid/" class="hdp-link routable" title="403 James Toney Dr, Elon, NC Real Estate" id="yui_3_15_0_1_1405702066072_1575"><span itemprop="streetAddress" id="yui_3_15_0_1_1405702066072_1574">403 James Toney Dr</span>, <span itemprop="addressLocality">Elon</span>, <span itemprop="addressRegion" id="yui_3_15_0_1_1405702066072_1580">NC</span><span itemprop="postalCode" class="hide">27244</span></a></span>

这将按顺序打印所有数据。但是我需要将每个地址实例放入 CSV 列中。这可能吗?我在想我需要一种方法来在循环迭代时将每个地址存储到一个变量中,但我读到这可能不是一个好的解决方案。我浏览了几个试图找出解决方案的网站。我觉得它应该很简单,我就是想不通。

编辑:我只能使用 1 个循环来获取我需要的所有信息。希望这能让问题更简单。

最佳答案

一般情况下你需要给出一个HTML的例子才能给出正确答案。

在特殊情况下,总是有完全相同的数量并且它们按顺序关联,您可以使用 zip 函数,例如

streets = [street.text for street in soup.find_all(...)
towns = ....
states = ....
zips = ....

recs = zip(streets,towns,states,zips)

c = csv.writer(...)
for rec in recs:
c.writerow(rec)

关于Python For 循环和 BeautifulSoup 结果转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24830627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com