美文网首页python爬虫
淘宝爬虫-使用selenium采集关键词为电动车的数据

淘宝爬虫-使用selenium采集关键词为电动车的数据

作者: 9ba4bd5525b9 | 来源:发表于2019-07-25 20:59 被阅读22次

    实现功能:

    1、使用geckodriver驱动firefox访问淘宝首页,输入关键词,点击搜索按钮,翻页,点击确定按钮,采集信息,存储到mongodb,导出成CSV文件,统计程序运行时间

    2、使用selenium的WebDriverWait(browser,10).until(expected_conditions.条件((By.条件,'条件')))方法,判断输入框是否加载完成,搜索按钮是否出现

    3、使用send_keys()方法,输入关键字,使用click()方法,点击搜索

    4、获取第1页的产品信息

    5、使用第2步的方法,判断总页数是否出现,用text方法返回string

    6、翻页的方法使用,使用第2步的方法,判断输入框是否出现,确定按钮是否出现,调用clear()方法清空输入框,send_keys()方法输入页码,click()方法点击按钮

    7、使用第2步的方法,判断高亮的页码是否为翻页需要的页码

    8、每获取1页翻页,就获取1页产品信息

    9、产品信息的解析,使用pyquery库,首先使用第2步的方法,判断整个页面加载完成,即产品框的frame都出现了

    10、提取需要的产品信息字段,存储到MONGODB

    遇到的问题:

    1、Chrome版本和ChromeDriver不匹配,改为使用firefox

    2、使用PhantomJS报错,设置窗口大小后解决

    3、从mongodb导出到csv文件,首次打开为乱码,用的是utf-8 without BOM编码,windows下需要使用utf-8,用notepad++打开csv文件设置一下编码保存即可

    4、从firefox复制的CSS选择器格式错误,改用chrome

    5、使用PhantomJS程序的运行时间: 251.23947518380507,而使用firefox的程序的运行时间: 143.89224086472169,所以其实并不是无界面浏览器就快

    6、图片链接没有抓取完全,提取图片信息属性的时候应该直接使用data-src

    收获

    1、初步学会使用selenium采集JS渲染的页面

    2、mongodb导出

    3、CSS选择器使用

    完整代码

    相关文章

      网友评论

        本文标题:淘宝爬虫-使用selenium采集关键词为电动车的数据

        本文链接:https://www.haomeiwen.com/subject/uybkrctx.html