<p>出于上述目的,在我看来,分析网站、了解其功能,然后自动执行浏览器行为而不是用户行为要简单得多。你知道吗</p>
<p>在网站上尝试在浏览器上点击F12,打开“网络”选项卡,在输入框上粘贴一个URL,然后点击“提交”,您将看到它向一个URL发送一个HTTP选项请求,然后发送一个POST请求。然后服务器返回一个JSON响应作为结果。你知道吗</p>
<p>因此,您可以使用Python的请求模块(<a href="https://requests.kennethreitz.org/en/master/" rel="nofollow noreferrer">docs</a>)来自动化POST请求,而不是使用非常复杂的代码来模拟单击和刮取结果。你知道吗</p>
<p>一个非常简单的例子是:</p>
<pre><code>import json
import requests
def fake_news():
url = 'https://us-central1-fake-news-ai.cloudfunctions.net/detect/'
payload = {'url': 'https://www.nytimes.com/'}
headers = {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'en-US,en;q=0.5',
'Connection': 'keep-alive', 'Content-Length': '103', 'Content-type': 'application/json; charset=utf-8',
'DNT': '1', 'Host': 'us-central1-fake-news-ai.cloudfunctions.net', 'Origin': 'http://www.fakenewsai.com',
'Referer': 'http://www.fakenewsai.com/', 'TE': 'Trailers',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0'}
response_json = requests.post(url, data=json.dumps(payload), headers=headers).text
response = json.loads(response_json)
is_fake = int(response['fake'])
if is_fake == 0:
print("Not fake")
elif is_fake == 1:
print("Fake")
else:
print("Invalid response from server")
if __name__ == "__main__":
fake_news()
</code></pre>
<p>附言:这将是公平的联系该网站的所有者,讨论使用他或她的基础设施为您的项目。你知道吗</p>