selenium+Firefox 初试

今天算是忙活这几天以来的第一次实际应用到生产。感觉不错:爬虫无人看守自动爬取了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保存一次。

原文地址:https://www.cnblogs.com/aubucuo/p/biglistsolution.html