从 python 中的网站获取 javascript 行
get renderd javascript lines from website in python
我为此使用 python 3.6.6。
我正在尝试从 pycharm 网站 (https://www.jetbrains.com/pycharm/download/#section=windows) 获取 pycharm 的当前版本号。
版本号显示的很明显,我还是看不懂,因为我不知道如何正确处理java脚本。
我尝试用 requests_html 解析出来:
<li>Version: <span data-code="PCP" data-release-version=""></span></li>
在 java 脚本完成其工作后,这部分应该如下所示:
<li>Version: <span data-code="PCP" data-release-version="">2018.1.4</span></li>
顺便说一句,这是我无法运行的脚本:
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.jetbrains.com/pycharm/download/#section=windows')
r.html.render()
item = r.html.find('<span data-code="PCP" data-release-version=""></span>')
print(item)
我不在乎是否还有剩余部分,我只是用 RegEx 将它们过滤掉。我从中得到的唯一信息仍然是:
[<Element 'span' data-code='PCP' data-release-version=''>]
更新:
我自己找到了解决方案。看起来 render() 需要睡眠。我还使用 xpath 而不是搜索。
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.jetbrains.com/pycharm/download/#section=windows')
r.html.render(sleep=0.1)
item = r.html.xpath('/html/body/div[1]/div[2]/div/div[2]/div[1]/div[2]/ul[1]/li[1]/span/text()')
print('------------------------------------------------')
print(item)
我的结果:
['2018.1.4']
我为此使用 python 3.6.6。
我正在尝试从 pycharm 网站 (https://www.jetbrains.com/pycharm/download/#section=windows) 获取 pycharm 的当前版本号。 版本号显示的很明显,我还是看不懂,因为我不知道如何正确处理java脚本。
我尝试用 requests_html 解析出来:
<li>Version: <span data-code="PCP" data-release-version=""></span></li>
在 java 脚本完成其工作后,这部分应该如下所示:
<li>Version: <span data-code="PCP" data-release-version="">2018.1.4</span></li>
顺便说一句,这是我无法运行的脚本:
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.jetbrains.com/pycharm/download/#section=windows')
r.html.render()
item = r.html.find('<span data-code="PCP" data-release-version=""></span>')
print(item)
我不在乎是否还有剩余部分,我只是用 RegEx 将它们过滤掉。我从中得到的唯一信息仍然是:
[<Element 'span' data-code='PCP' data-release-version=''>]
更新:
我自己找到了解决方案。看起来 render() 需要睡眠。我还使用 xpath 而不是搜索。
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.jetbrains.com/pycharm/download/#section=windows')
r.html.render(sleep=0.1)
item = r.html.xpath('/html/body/div[1]/div[2]/div/div[2]/div[1]/div[2]/ul[1]/li[1]/span/text()')
print('------------------------------------------------')
print(item)
我的结果:
['2018.1.4']