最近在爬国家药品监督管理局的网站,发现之前的通过表单提交获取数据的方式不再适用,于是我起初觉得这个方法不行那就尝试着看看能不能通过调试js找到接口可以直接拿数据,但是现实总是那么残酷呀!全是加密的js,我起初又觉得这个应该有方法破解的,但是现实还是给了我暴击,我花了一周的时间依旧是毫无头绪,不过这个过程也并非一无收获的,至少在我多方打听后得知是一个叫瑞数的公司(他们的老巢: https://www.riversecurity.com.cn/)捣得鬼,没错,各位爬友们你们如果爬中国文书网还有一些国家类的网站就身有体会啦。总结一下就是恶心!那有人说加密的js破解不了直接上Selenium + Chromedriver就可以了呀,嗯,想法很好不过你可以试试,最终你会放弃这个想法的。
我尝试着很多方法最终发现Selenium + Firefox的方法可以使用,这可能是因为他们还没将geckodriver这个驱动识别,因为大部分人优先考虑Chrome.在使用Selenium + Firefox的过程中也出现很多小问题。下面来说一下:
先看报错信息:
File "C:\Python34\lib\site-packages\selenium-3.0.0b2-py3.4.egg\selenium\webdriver\common\service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "C:\Python34\lib\subprocess.py", line 859, in __init__
restore_signals, start_new_