资源简介

利用selenium编写的python网络爬虫-淘宝商品信息并保存到mysql数据库。包括宝贝的详细信息

资源截图

代码片段和文件信息

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from pyquery import PyQuery as pq
from Tbmeishi.config import *
import MySQLdb

# browser = webdriver.Chrome()   使用chrome来运行,会跳出界面
browser = webdriver.PhantomJS(service_args=[‘--load-images=false‘ ‘--disk-cache=true‘])
wait = WebDriverWait(browser 10)
# 设置phantomjs的界面大小
browser.set_window_size(1400 900)


def search():
    print(‘正在搜索‘)
    browser.get(‘https://www.taobao.com‘)
    # 判断加载是否成功
    # 输入框选择器
    input = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR ‘#q‘))
    )
    # 点击事件J_TSearchForm > div.search-button > button
    submit = wait.until(
            EC.element_to_be_clickable((By.CSS_SELECTOR ‘#J_TSearchForm > div.search-button > button‘)))
    # 输入搜索内容KEYWORD
    input.send_keys(KEYWORD)
    # 点击搜索
    submit.click()
    # 网页等待
    total = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR “#mainsrp-pager > div > div > div > div.total“)))
    get_products()
    return total.text


def next_page(page_number):
    print(‘正在翻页%d‘ % page_number)
    try:
        # 页码的数据框选择器
        input = wait.until(
                EC.presence_of_element_located((By.CSS_SELECTOR ‘#mainsrp-pager > div > div > div > div.form > input‘))
        )
        # 确定按钮
        submit = wait.until(
                EC.element_to_be_clickable(
                        (By.CSS_SELECTOR ‘#mainsrp-pager > div > div > div > div.form > span.btn.J_Submit‘)))
        # 清除下面的页码
        input.clear()
        # 写入当前页的下一页
        input.send_keys(page_number)
        # 点击确定按钮
        submit.click()
        wait.until(EC.text_to_be_present_in_element(
                (By.CSS_SELECTOR ‘#mainsrp-pager > div > div > div > ul > li.item.active > span‘) str(page_number)))
        get_products()
    except TimeoutError:
        next_page

评论

共有 条评论