Python3是否有基于JavaScript的抓取库而不是Selenium?我试图抓取https://www.mailinator.com/v2/inbox.jsp?zone=public&query=test
,但收件箱中装有JavaScript。我不想使用Selenium的原因是我不希望它在我运行时打开一个窗口。
这是我的非工作代码:
import requests
from bs4 import BeautifulSoup as soup
INBOX = "https://www.mailinator.com/v2/inbox.jsp?zone=public&query={}"
def check_inbox(name):
stuff = soup(requests.get(INBOX.format(name)).text,"html.parser")
print(stuff.find("ul",{"class":"single_mail-body"}))
check_inbox("retep")
是否存在任何此类库?
我无法在Selenium之外的Google搜索python 3 javascript scraper
找到任何内容。
答案 0 :(得分:1)
您实际上并不需要javascript,因为它是客户端,所以您可以模仿它。
如果您检查网页(开发人员工具>网络),您会发现websocket
与此有wss://www.mailinator.com/ws/fetchinbox?zone=public&query=test
连接:
this.monthName.push.apply(this.monthName, monthName);
现在,如果使用python实现websocket客户端,您将能够干净地获取邮件(请参阅:https://github.com/aaugustin/websockets/blob/master/example/client.py)。