gpt4 book ai didi

python - 抓取 URL 和嵌套 CSV 以与 python 结合时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:16:50 30 4
gpt4 key购买 nike

我的项目要求我分几个步骤从网站上抓取信息,每个步骤都会添加新页面和变量以在后续步骤中抓取。我正在使用 Python 来完成此任务...仅 3 个月前才学习了非常基本的方面,但仍然很新。

抓取的顺序如下:

第 0 步:要抓取的顶级类别网址 (url_1) 的 CSV1 文件,总共约 20 个网址

-->

第 1 步:采用 scrape1.py,它使用 Selenium Firefox Webdriver 加载 CSV1 中的每个 (url_1) 链接,以使 CSV2 在列中包含以下中间类别变量:(variable1)、(variable2)、(variable3)、(variable4)、(variable5) )、(url_2)...每次加载 (url_1) 都会生成 12-24 行新行,并带有唯一的 (url_2) 链接,因此总共约 400 多行

-->

第 2 步:使用 scrape2.py 和 Beautiful Soup 加载 CSV2 中的每个 (url_2) 链接,并使 CSV3 在列中包含以下最终类别变量:(variable_A)、(variable_a)、(url_a)、(variable_B)、(variable_b)、( url_B),(url_b)。每个 (url_2) 链接都会生成 20+ 个变量 (A, a, B, b) 和 url (a, B, b),因此输出将远远超过 10,000 行(目前仅在较小版本的 CSV2 上运行)只有 5 行 url_2)

-->

第 3 步:

将所有变量合并到一个 CSV4 文件中。

我遇到的问题是在步骤 3 中。我能够创建 CSV1、CSV2 和(截断的)CSV3。我能够制作 scrape1.py 和 scrape2.py 并成功收集变量和 URL。但我无法弄清楚如何将所有变量放入一个 CSV 文件中。特别是因为每个阶段都会以指数方式增加随后的变量数量,因此 CSV1 中的一行 (url_1) 将在 CSV3 中产生 200-400 多行变量。我需要将变量从一个 CSV 文件“结转”到下一个,但是对于每个新的行迭代,新文件必须多次包含结转变量,而不仅仅是一次,因此只需将它们添加为新专栏不起作用。

最终输出应该是:

CSV1:(url_1) [x20]

CSV2:对于每个 (url_1),大约 22 行:(变量1)、(变量2)、(变量3)、(变量4)、(变量5)、(url_2)

CSV3:对于每个 (url_2),大约 30 行:(变量_A)、(变量_a)、(url_a)、(变量_B)、(变量_b)、(url_B)、(url_b)

CSV4:CSV3 中的每一行都与之前的变量一起复制,这样每一行都具有:(url_1)、(变量1)、(变量2)、(变量3)、(变量4)、(变量5)、(url_2)、(变量_A)、(变量_a)、(url_a)、(变量_B)、(变量_b)、(url_B ),(url_b)

有人建议我尝试 Pandas,但我无法弄清楚如何仅使用我读到的其他项目的内容来实现它。

任何帮助将不胜感激!

最佳答案

对于包含列的 CSV:

  • CSV1
    • url_1
  • CSV2
    • url_1
    • 变量1
    • url_2
  • CSV3
    • url_2
    • 变量_A

如果您想合并这些 CSV,只需使用 pandas.merge .

pandas.merge(CSV1, CSV2) 将使用 CSV1 和 CSV2 的公共(public)列(在示例中为 url_1 列)连接。

看例子here .

关于python - 抓取 URL 和嵌套 CSV 以与 python 结合时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43815178/

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