废弃网页并使用BS4和Pandas另存为CSV

时间:2016-11-10 13:58:36

标签: python csv pandas raspberry-pi

通常我在废弃网页时使用R&将结果保存在csv文件中。 这在R中非常简单,但我的R代码在我的Raspberry Pi上不起作用,因为Raspbian与其中一个软件包之间存在一些不兼容性。所以我决定尝试用Python做我的工作。

我想做的事情非常简单:从本地新闻网页上剪下标题,链接和图片链接,另存为csv。

当我在Jupyter笔记本(在Windows上)尝试我的代码时,一切正常,csv文件有一个很好的12行数据框,但是当我在我的Raspberry上尝试我的代码时,csv文件只包含一行。 / p>

这是我的第一个python代码,除了“很多Hello world”,所以我知道它并不完美,但我完全被卡住了为什么它不能在Raspberry上运行

感谢您的帮助

# coding: utf-8
from bs4 import BeautifulSoup
import urllib
r = urllib.urlopen('http://krakow.tvp.pl/554275/aktualnosci').read()
soup = BeautifulSoup(r,'html.parser')
aktualnosci = soup.find_all("div", class_={"recommended","item hidden","image border-radius-5","meta cf","title"})
tytuly = soup.find_all("li", class_ = "border-radius-5")

prefix="http://krakow.tvp.pl"
link_aktualnosci = []
link_grafika_aktualnosci = []
link_tytul_aktualnosci = []
#course = []
temp = []
courses_list = []

for item in aktualnosci:
    temp1 = item.a['href'] # pobieram link do artykulu
    link_aktualnosci.append(temp1.encode('UTF-8'))

    temp2 = item.img.get('src') # pobieram link do grafiki
    link_grafika_aktualnosci.append(temp2.encode('UTF-8'))


    temp3 = item.find('span',class_="title").text.strip().encode('UTF-8') # pobieram tekst tytułu
    link_tytul_aktualnosci.append(temp3)

    temp = [temp1,temp2,temp3]
    courses_list.append(temp)

import pandas as pd

df = pd.DataFrame(courses_list)

df.to_csv('aktualnosci.csv')

1 个答案:

答案 0 :(得分:0)

我现在无法测试;我没有安装Python。但是......这对你有用吗?

import pandas as pd
df = pd.read_html('http://krakow.tvp.pl/554275/aktualnosci', 
    header=0, 
    index_col=0)[2]
print (df)