我正在使用Beautiful Soup遍历一些HTML div,代码如下:
for div in soup.findAll('a', {'class': 'result'}):
adLink = div.a.get('href')
adInfo= {
u'adLink':adLink,
u'adThumbImg':...some code...,
u'adCounty':...some code...
}
adFullInfo = getFullAdInfo(adLink)
adInfo.update(adFullInfo)
ads_CarsURL = pd.DataFrame(data=adInfo) #Create pandas DF
其中getFullAdInfo
是一个函数。
def getFullAdInfo {
...some code...
}
该函数返回一个字典,类似于以下内容:
{'adID': '2027007',
'adTitle': 'Ford 750 Special',
'adDatePublished': '20.11.2009',
'adTimePublished': '14:23',
'adViewed': '102',
'carPriceEUR': '600',
'carManufacturer': 'Ford'}
在每次迭代中,我从
adInfo
字典和从返回另一个字典的adFullInfo
函数中获取值,然后合并它们,以便我可以有单个字典记录。想法是最终创建pandas数据帧。我得到的错误是:
我不知道为什么会这样,当我最初为每个字典键定义所有变量并将空字符串(如ValueError: arrays must all be same length
adID=""
)分配给它们以防它们丢失时。