python - 在 Python 中组合两个单独的 WebScraped 列表

标签 python csv

我正在从汽车网站上抓取数据以获取价格。现在,我正在通过创建两个单独的列表来解决这个问题;一个是定价数据,另一个是汽车型号数据。最终,我想获取每个列表并将两个列表连接在一起以创建一个 CSV。 我解决这个问题的具体步骤如下:

  1. 建立与网站的连接
  2. 创建两个空列表以将数据写入其中
  3. 从页面的每个部分选择正确的数据
  4. 迭代数据并将该数据存储到列表中(这是我遇到问题的地方)
  5. 最终,我会将这两个列表合并为一个 CSV。
from bs4 import BeautifulSoup
import urllib2

#1) establishing a connection to the website
wiki = "http://www.morong.com/used-inventory/index.htm?start=16&"
req = urllib2.Request(wiki)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page, 'lxml')

#2) creating two empty lists to write the data into
valueHolder = []
nameHolder = []

#3) selecting the correct data from each part of the page 
value = soup.findAll("span", { "class" : "value" })

name = soup.findAll("a", {"class" : "url"})

#4) iterates over rows and turns each row into a text field
for row in value:
    valueholder = row.text

for row in name:
    nameHolder = row.text
print(valueholder)
print(nameHolder)

当我打印 valueHoldernameHolder 时,我只返回每个 for 循环的最后一行。如何打印所有值?

最佳答案

使用 zip() 函数连接这两个列表:

value = [row.text for row in value]   
name = [row.text for row in name]
zipped_value_name = list(zip(value, name))

for row in zipped_value_name:
    print(row)

您还可以创建字典而不是列表dict_not_list = dict((zip(name, value))

关于python - 在 Python 中组合两个单独的 WebScraped 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46791931/

相关文章:

python - 如何分析毒性?

python - 用今天的日期替换 CSV 文件中的 'NULL' 值 - Python

javascript - 如何在D3.js中的svg上显示直线?

PHP,如何将我的 CSV 文件插入我的数据库

python - 使用 odo 加载 CSV -> AWS 上的 postgres

python - 如何在 python 中复制 Arduino 函数 lowByte?

访问递归嵌套 dict 的 Pythonic 方式

python - 在 Python、postgresql 中将字符串转换为 DateTime 到 UTC 格式

python django-import-export 即使没有数据也导入模型数据

Python/ Pandas : Making a contingency table with multiple variables