用python抓取javascript生成的html



我的代码:

session = HTMLSession()
r = session.get(url)
result = r.html.find('.YD-Header')

如果类名=",我就可以这样刮它;YD标题";

但我想用类名:来抓取HTML元素

<td>
class="Fw(500) Ta(end) Pstart(10px) Miw(60px)"
</td>

如果我使用,我的代码找不到任何东西

result = r.html.find('.Fw(500)')

如何找到这个类(类名由空格和圆括号组成)?

CSS要求像(和)这样的字符用\字符转义,所以对于具有这些名称的类,最终会使用像这样的选择器。Pstart(20像素)。

这里的问题是JavaScript字符串也将\作为转义符。JS字符串"。Pstart(20px)'表示字符串。Pstart(20px),它再次不是有效的CSS选择器,因为括号没有转义。

解决方案是对类进行双重转义:JS字符串"。Pstart\(20px\)。Pstart\(40px\)--md'准确地表示。Pstart(20像素)。Pstart(40px)--md CSS选择器。

最新更新