今天算是忙活这几天以来的第一次实际应用到生产。感觉不错:爬虫无人看守自动爬取了5939条数据。把过程和收获写下来。
xpath方法
selenium
的核心就是网页元素的选取,这是前提。它所提供的方法功能强大,可是我不太会用,一个上午都在测试元素选取方法,可能也因不同网页而异。今天我就是被这个网页给坑了:
需要找到(跳转)并点击。然而我被兜圈子了,手动点击它都没反应。其实代码很简单:
nextpage = browser.find_element_by_xpath("//input[@value='下一页']")
nextpage.click()
这是下一页的标签。xpath
方法如果找到多个项返回的是list
,是不能.click
的。因此需要用//input[特征]
来指定。
具体selenium
信息 http://www.testclass.net/selenium_python/
找表格信息
如图所示。需要取到每行(/tr)的第[x]列,代码如下:
tdx = browser.find_elements_by_xpath('//tbody/tr/td[x]')
另一个心得
程序共运行了20分钟,一共爬了394页,期间一直没有保存文件。我期间一直担心万一其中一页打不开了,或者其他错误,那前面几百页就白爬了啊。因此需要在for循环(爬网页)里面加上
if pagenum%50 ==0: wookbook.save('f:/exp.xls')
即每50保存一次。