【发布时间】:2017-10-17 13:55:50
【问题描述】:
我正在从汽车网站抓取数据以获取价格。现在,我正在通过创建两个单独的列表来解决这个问题;一个定价数据和另一个汽车型号。最终,我想获取每个列表并将两者连接在一起以创建一个 CSV。 我为解决这个问题而采取的具体步骤如下:
- 建立与网站的连接
- 创建两个空列表以将数据写入
- 从页面的每个部分选择正确的数据
- 遍历数据并将该数据存储到列表中(这是我遇到问题的地方)
- 最后,我要将这两个列表合并为一个 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)
当我打印 valueHolder 和 nameHolder 时,我只返回每个 for 循环的最后一行。如何打印所有值?
【问题讨论】: