如何将bs4.element.tag转换为熊猫



我想仅从博客中解析文本,然后以bellow

from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://edwvb.blogspot.ru/2018/03/3-tipa-povedeniya-kotorye-opredelyayut-uspeshnyh-prodavcov.html")
bsObj = BeautifulSoup(html, "html.parser")

这样我就可以看到以这种方式到达帖子的文本

nameList = bsObj.findAll("div", {"dir":"ltr", "style":"text-align: left;", "trbidi":"on"})

但是,我解析了两个对象,当我将其转换为pandas

df = pd.DataFrame(nameList)

我有两行。

                   0
0   nnnnn(adsbygoogle = window.adsbygoogle ||...
1   nПеревод статьи 3 Behaviors That Drive Succes...

我需要分析只排1。我尝试做这个

df = pd.DataFrame(nameList[1])

并获得

TypeError: DataFrame constructor called with incompatible data and dtype: setting an array element with a sequence

namelist [1]具有bs4.element.tag类型

  type(nameList[1])
  bs4.element.Tag

那么如何将bs4.element.tag转换为pandas?或者可能有更简单的方法来解析文本blogspot.com?

这可能不是一个简单的决定

from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://edwvb.blogspot.ru/2018/03/3-tipa-povedeniya-kotorye-opredelyayut-uspeshnyh-prodavcov.html")
bsObj = BeautifulSoup(html, "html.parser")
nameList = bsObj.findAll("div", {"dir":"ltr", "style":"text-align: left;", "trbidi":"on"})
nameList = [i.text for i in nameList]

之后,我们需要首先将nameList[1]转换为pd.Series,然后转换为DataFrame

S = pd.Series(nameList[1])
S.to_frame()

最新更新