【问题标题】:Extract text from <li>从 <li> 中提取文本
【发布时间】:2016-12-27 16:24:55
【问题描述】:

我从博客中提取文本,但格式如下:

<li><b><a href="https://www.bloomberg.com/news/articles/article-id">Text</li>

我只需要从中提取文本。

我试过这段代码:

from bs4 import BeautifulSoup
from urllib import request
import nltk, re, pprint

def getAllDoxyDonkeyPosts(url,links):
    raw = request.urlopen(url).read()
    raw = BeautifulSoup(raw, "lxml")
    for a in raw.findAll('a'):
        try:
            url = a['href']
            title = a['title']
            if title == "Older Posts":
                links.append(url)
            getAllDoxyDonkeyPosts(url,links)
        except:
            title = ""
    return

blogUrl = "http://doxydonkey.blogspot.in/"
links = []
getAllDoxyDonkeyPosts(blogUrl,links)

def getDoxyDonkeyText(url):
    raw = request.urlopen(url).read()
    raw = BeautifulSoup(raw, "lxml")
    mydivs = raw.findAll("div", {"class":'post-body'}) 

    posts = []
    for div in mydivs:
        posts+=div.findAll("li")

return posts

doxyDonkeyPosts = []
for link in links:
    doxyDonkeyPosts+=getDoxyDonkeyText(link)


doxyDonkeyPosts

【问题讨论】:

  • 你试过什么?并且不要使用这样的图像。删除图像并将其作为文本发布。
  • 您使用了 beautifulsoup 标签,因此您明白这就是您所需要的。因此,请说明您使用它的程度

标签: python beautifulsoup


【解决方案1】:
from bs4 import BeautifulSoup
t = '<li><b><a href = "www.google.com">Google</a></b></li>'

b = BeautifulSoup(t, "html.parser")
print b.text #--> Google

【讨论】:

  • 非常感谢!这就是我需要的
  • @Ketochka 请接受答案以关闭问题
猜你喜欢
  • 1970-01-01
  • 2020-01-12
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 2018-01-19
  • 2023-02-16
  • 2018-07-30
相关资源
最近更新 更多