【发布时间】:2017-12-10 19:53:21
【问题描述】:
我正在尝试使用 BeautifulSoup 解析一个看起来像 this 的网页 我必须使用 class "quote mediumText"
从每个 div 标记中获取我圈出的文本【问题讨论】:
-
你的代码在哪里?
标签: python-3.x web-scraping beautifulsoup
我正在尝试使用 BeautifulSoup 解析一个看起来像 this 的网页 我必须使用 class "quote mediumText"
从每个 div 标记中获取我圈出的文本【问题讨论】:
标签: python-3.x web-scraping beautifulsoup
要获得链接中的红色圆圈文本,请尝试以下操作:
import bs4 as bs
import requests
source = requests.get("https://www.goodreads.com/quotes/tag/fear").text
soup = bs.BeautifulSoup(source, "lxml")
# Remove script tags.
[s.extract() for s in soup('script')]
divs = soup.findAll("div",{'class':'quoteText'})
for div in divs:
print (div.text.replace('\n', ' ').replace('\r', ''))
更新删除脚本标签换行符和回车,
您可以使用列表理解语法在一行中完成此任务:
myList = [elem.text for elem in soup.findAll("div",{'class':'quoteText'})]
【讨论】:
.findAll 返回列表中每个elem 的.text。
class = "quoteText",但是你提到你想要带有class = "quote mediumText"的文字
class: "quoteText" 应该这样做。类似于 Dan-Dev 上面的回答:)