我正在尝试以下代码:
import sys
if __name__ == '__main__':
link = "https://bibles.org/bible/555fef9a6cb31151-01/3JN.1"
import requests
from bs4 import BeautifulSoup
s = requests.session()
r = s.get(link)
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.prettify())但是我看不到网页的内容。如何提取它们?
发布于 2020-02-05 16:17:01
您只能使用requests + bs4来抓取您在页面源代码(转到view-source:https://bibles.org/bible/555fef9a6cb31151-01/3JN.1)中看到的内容。
您要抓取的页面是一个动态web应用程序,它会在之后使用JS + XHR加载文本。这意味着您需要一个浏览器+ selenium来加载页面,并执行加载内容所需的任何JS。填充页面内容后,您可以获得实际的超文本标记语言,并使用bs4提取文本。
因此,请阅读有关如何在python中使用Selenium进行抓取的信息。您还需要使用waits1来等待适当的时间,直到页面达到您想要的状态(文本被添加到页面中)。
https://stackoverflow.com/questions/60066956
复制相似问题