“”“”这是我的密码“”“
import requests
from bs4 import BeautifulSoup
import random
from selenium import webdriver
url ="http://www.yopmail.com/en/?smith"
request = requests.get(url)
soup = BeautifulSoup(request.text, 'html5lib')
print(soup)
“”“它返回了此输出”“”
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
</head>
<body onload="document.getElementById('f').submit();">
<form action="." id="f" method="post">
<input id="yp" name="yp" type="hidden" value="XAQHlAwL5ZwL1ZQZlAGH3ZGV"/>
<input id="login" name="login" type="hidden" value="smith"/>
<input id="id" name="id" type="hidden" value=""/>
</form>
<noscript><br/><br/> <strong>Your browser does not support javascript or it may be disabled</strong></noscript>
</body></html>
“”“我要使用整个SRC代码代替”“”
答案 0 :(得分:0)
发生这种情况是因为在执行Javascript之前,请求已获得了源。 您可以安装requests-html并从requests_html导入HTMLSession。 支持的功能:
示例:
pip install requests-html
from requests_html import HTMLSession
from requests_html import AsyncHTMLSession
url2search = "https://******"
session = HTMLSession()
r = session.get(url2search)
JS的呈现方式为:
r.html.render()
请注意,您第一次运行render()方法时,它将把Chromium下载到您的主目录(例如〜/ .pyppeteer /)。这只会发生一次。您可能还需要安装一些Linux软件包才能使pyppeteer正常工作。
有关this link的更多详细信息。
答案 1 :(得分:0)
我宁愿将其写为评论而不是答案,因为我只是给您一个提示,但我没有足够的声誉来撰写评论。这是我的两分钱:
注意行
<body onload="document.getElementById('f').submit();">
<form action="." id="f" method="post">
在您的HTML来源中。这可能是非常基本的保护措施,可以防止像您打算的那样进行刮刮尝试,并且可以将requests.get
的使用更改为requests.post
足以;包括更改类似GET的参数
在网址中/?史密斯
改为POST参数。
但是,同样好,之后您可能还会遇到更多需要使用JavaScript的代码。在这种情况下,请检查Basu_C的其他答案。