无法使用 requests_html 抓取网站

时间:2020-12-18 18:30:32

标签: javascript python web-scraping python-requests-html

我正在尝试制作一个脚本来跟踪来自不同快递员的包裹,但问题是 requests_html 似乎不适用于他们的 javascript。 [这个][1] 是我想从中获取信息的链接。打开html,可以看到这个javascript函数:

        function stopLoading(error) {//loading hide

        $('#progress').css('display', 'none');
        if (!error) {
            $('#main-content').css('display', 'block');
        } else {
            $('#divError').css('display', 'block');
            $('#divError p').text(error);
        }
    }

我可以猜到,如果没有错误(?) ma​​in-content 变得可见并且 divError 保持显示 none。但是每当我运行我的脚本时,结果范围从加载错误到 divErrorma​​in-content 都在 display=none;

这是我的代码

import bs4
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://wkfsrv.acscourier.net/apps/track-shipment/?id=4716811960')

r.html.render()
page=r.html.raw_html
soup = bs4.BeautifulSoup(page.decode('utf-8','ignore'),features="html.parser")

我试过 selenium 但它太重了,我自己发送 GET 请求,但我还不够好,无法让它工作,在 render() 中传递一个 Javascript 参数,但它不能带回不存在的东西.我开始认为这是网页本身的问题。任何帮助(甚至确认我上面的结论)都会有所帮助。 [1]:https://wkfsrv.acscourier.net/apps/track-shipment/?id=4718427210&token_hash=track-4718427210

0 个答案:

没有答案