2017-04-07 50 views
0

我正在使用beautifulsoup来取消某些图像链接。采用这种编码,我设法让他们都将声明打印到变量中

images = [] 
images = page_soup.findAll('img') 

for image in images: 
    print(image.get('src')) 

现在我想的链接写入到一个csv文件,有没有办法把我的print语句到一个变量,这样它会写入一个行?

这里是我到目前为止的代码

with open('index.csv', 'a') as csv_file: 
    writer = csv.writer(csv_file) 
    writer.writerow([name, images, datetime.now()]) 

更新我改变了我的代码

images = [] 
images = page_soup.findAll('img') 

with open('index.csv', 'a') as csv_file: 
    writer = csv.writer(csv_file) 
    for image in images: 
     writer.writerow([image.get_text(), image.get('src'), datetime.now()]) 

但仍具有CSV格式问题,我想所有的图像链接到同一行打印。

enter image description here

+0

“这是我到目前为止的代码” - 如果它不工作(这就是为什么你在这里),而不是什么发生? – hlt

回答

0

只是重构你的使用feteched的数据来填充你的CVS代码。

像这可能是工作:

images = [] 
images = page_soup.findAll('img') 

with open('index.csv', 'a') as csv_file: 
    writer = csv.writer(csv_file) 
    for image in images: 
     writer.writerow([image.get_text(), image.get('src'), datetime.now()]) 
+0

非常感谢!它的工作,但它为每个图像链接做了一个新的行,并与每个图像链接重复所有其他刮取的数据。而不是我所喜欢的,这是所有链接在一行中。 – user1663590

+0

这是因为,在open('index.csv','a')'中有附加标志设置。如果你想要擦除遗嘱,只需用写入标志将其打开即可。 和你在一行中的含义是什么?你想让他们分开昏迷吗?只是举例适合您的要求的行 –

+0

谢谢您再次回复我。我张贴了我想如何格式化csv的图像 – user1663590