python 用什么模块处理网页的javascript

Python012

python 用什么模块处理网页的javascript,第1张

lxml 配合 html5lib

可以很好的解析 html DOM

但对于js的解析 据我所知现在没有什么很成熟的模块能做这个

解析js肯定不是正则能办得到的, 比较现实的方案是

从webkit下手, 但光这一个库就有10+M

(利用webkit自己解析js等解析完之后读取html dom, 什么时候解析完,什么内容需要解析,什么内容不应该解析是使用的难点)

如果你碰到的js代码比较简单

可以自己看看js代码然后使用python模拟js代码得到网址

其中使用webkit是最难的(不是简单显示界面,需要自己hook)

模拟js其次

lxml是最普遍的了

(这个解析一般的html必须配合其他html解析库,自带的那个html解析不是很健壮碰到稍微差点的页面就不能正确解析)

另外html DOM 里面 beautifulsoup 是一个比较老道的使用正则实现解析HTML DOM的库.

用selenium就可以了,它模拟打开浏览器,打开网页。

通过页面元素的特征,定位到要点击的元素,click()方法就可以完成点击

比如

self.driver.find_element_by_xpath('//ul[@class="uhomeTagList-ul"]/li[2]').click()

三种方法:

正则表达式,python中re模块,python自带;

pyquery,需另外安装;

beautifulsoup,需另外安装。

具体使用上,对于比较复杂的获取,后两者操作更方便,前者效率更高。