环境:
ubuntu16.04
python3.5
python库: selenium, pyquery,pymongo, re
要求:
设置×××面浏览器访问,并将商品列表存入mongoDB数据库.
分析过程暂时略过
代码:
#!/usr/bin/env python# -*- coding:utf-8 -*-"""1.爬取淘宝美食的流程- 搜索关键字: 用selenium打开浏览器,模拟输入关键字,并搜索对应的商品列表.- 分析页码并翻页,模拟翻页,查看到所有页面的商品列表.- 分析并提取商品,利用Pyquery分析源码,解析得到商品列表.- 存储到MONGODB数据库,将商品列表信息存储到mongoDB数据库."""from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.common.exceptions import TimeoutExceptionfrom pyquery import PyQuery as pqimport refrom anli.mongoconfig import *import pymongoclient = pymongo.MongoClient(MONGO_URL)db = client[MONGO_DB]#设置×××面访问opt = webdriver.FirefoxOptions()opt.set_headless()browser = webdriver.Firefox(options=opt)#等待浏览器加载页面成功.wait = WebDriverWait(browser,10)def search(): try: # 后台打开浏览器 browser.get('https://pile('(\d+)').search(total).group(1)) print(total) for i in range(2,total + 1): next_page(i)if __name__=='__main__': main() #关闭×××面浏览器. browser.quit()#mongoconfig.py#!/usr/bin/env python# -*- coding:utf-8 -*-MONGO_URL = 'localhost'MONGO_DB = 'taobao'MONGO_TABLE = 'meishi'安装和使用mongodb参考:
//www.jb51.net/article/54758.htm
实现效果:
注意:
chrome浏览器和firefox浏览器的网页元素不太一样.