熊猫追加系列

时间:2017-12-02 17:25:35

标签: python pandas beautifulsoup

我正在尝试编写一些代码来抓取一个网站以获取链接列表,之后我会做其他事情。我找到了一些我想要调整的代码here,以便不是打印列表而是将其添加到系列中。我的代码如下:

import pandas as pd
from bs4 import BeautifulSoup
from urllib.parse import urljoin
user_agent = {'User-agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0'}

linksList = pd.Series()

def process(url):
    r = requests.get(url, headers=user_agent)
    soup = BeautifulSoup(r.text, "lxml")

    for tag in soup.findAll('a', href=True):
        tag['href'] = urljoin(url, tag['href'])
        linksList.append(tag['href'])

当我传递网址时,我收到以下错误

cannot concatenate a non-NDFrame object

知道我哪里错了吗?

1 个答案:

答案 0 :(得分:2)

.append() method of a Series object期望另一个Series对象作为参数。换句话说,它用于将Series连接在一起。

在您的情况下,您只需将href值收集到列表中并初始化Series

def process(url):
    r = requests.get(url, headers=user_agent)
    soup = BeautifulSoup(r.text, "lxml")

    return [urljoin(url, tag['href']) for tag in soup.select('a[href]')]:

links_list = pd.Series(process())