首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BS4和Pandas抓取网页并保存为CSV

使用BS4和Pandas抓取网页并保存为CSV
EN

Stack Overflow用户
提问于 2016-11-10 13:58:36
回答 1查看 408关注 0票数 2

通常,我在网页时使用R&将结果保存在csv文件中。这在R中非常容易,但是我的R代码不能在我的Raspberry Pi上工作,因为Raspbian和其中一个包之间有一些不兼容的地方。所以我决定试着用Python做我的工作。

我想做的非常简单:标题,链接和图片链接从本地新闻网页,并保存为csv。

当我在木星笔记本(Windows上)尝试我的代码时,csv文件有一个12行的良好数据框架,但是当我在Raspberry上尝试代码时,csv文件只包含一行。

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

谢谢你的帮助

代码语言:javascript
复制
# 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')
EN

回答 1

Stack Overflow用户

发布于 2017-02-03 15:59:10

我现在不能测试这个;我没有安装Python。But...does这是为你做的吗?

代码语言:javascript
复制
import pandas as pd
df = pd.read_html('http://krakow.tvp.pl/554275/aktualnosci', 
    header=0, 
    index_col=0)[2]
print (df)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40529407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档