Python3 JavaScript web scraper

时间:2017-10-23 21:56:40

标签: python-3.x web-scraping

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找到任何内容。

1 个答案:

答案 0 :(得分:1)

您实际上并不需要javascript,因为它是客户端,所以您可以模仿它。

如果您检查网页(开发人员工具>网络),您会发现websocket与此有wss://www.mailinator.com/ws/fetchinbox?zone=public&query=test 连接:

this.monthName.push.apply(this.monthName, monthName);

Webpage inspection

现在,如果使用python实现websocket客户端,您将能够干净地获取邮件(请参阅:https://github.com/aaugustin/websockets/blob/master/example/client.py)。