Python 如何在没有源代码的情况下获取网站的所有文本?

Python 如何在没有源代码的情况下获取网站的所有文本?,python,python-requests,Python,Python Requests,有没有办法在没有源代码的情况下获取网站的所有文本 比如:打开一个网站,然后按ctrl+a组合键点击那里的所有内容 导入请求 content=requests.get('任何url') 打印(content.text) 这将以文本形式打印源代码,但我希望通过上述方式实现这一点?为此,您必须安装beautifulsoup和lxml,但在这之后它将工作 from bs4 import BeautifulSoup import requests source = requests.get('your

有没有办法在没有源代码的情况下获取网站的所有文本

比如:打开一个网站,然后按ctrl+a组合键点击那里的所有内容

导入请求
content=requests.get('任何url')
打印(content.text)

这将以文本形式打印源代码,但我希望通过上述方式实现这一点?

为此,您必须安装beautifulsoup和lxml,但在这之后它将工作

from bs4 import BeautifulSoup
import requests

source = requests.get('your_url').text
soup = BeautifulSoup(source, 'lxml').text
print(soup)

步骤1:从网页获取一些HTML

第2步:使用Beautiful Soup包解析HTML(如果您没有事先的知识,请了解Beautiful Soup)https://pypi.org/project/beautifulsoup4/")

第3步:列出不需要的元素(例如标题、元、脚本)


这回答了你的问题吗?如果站点没有提供一种直接获取文本的方法,那么您唯一的方法就是像以前那样获取页面,并通过解析页面源代码以编程方式提取文本。可能有一些方法涉及呈现页面和从呈现的版本复制文本,但这与其他步骤和复杂度相同。
import requests
from bs4 import BeautifulSoup
url = 'https://www.zzz.com/yyy/ #give any url
res = requests.get(url)
html_page = res.content
soup = BeautifulSoup(html_page, 'html.parser')
text = soup.find_all(text=True)
output = ''
blacklist = [
    '[document]',
    'noscript',
    'header',
    'html',
    'meta',
    'head', 
    'input',
    'script',
# name more elements if not required
]
for t in text:
    if t.parent.name not in blacklist:
        output += '{} '.format(t)

print(output)