可以很好的解析 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,需另外安装。
具体使用上,对于比较复杂的获取,后两者操作更方便,前者效率更高。