zoukankan      html  css  js  c++  java
  • 爬取京东商品

    爬取京东商品

    爬取步骤分析

    一、进入京东主页

    ​ 找到商品输入框--输入商品名称--找到搜索按钮--点击搜索按钮

    二、进入商品详情页

    ​ 1、商品链接:

    ​ 2、商品名称:

    ​ 3、商品价格:

    ​ 4、评论人数:

    爬取代码

    from selenium import webdriver  # 用来驱动浏览器的  相当于模拟人的点击事件来连续的访问浏览器
    from selenium.webdriver import ActionChains  # 破解滑动验证码的时候用的 可以拖动图片
    from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR
    from selenium.webdriver.common.keys import Keys  # 键盘按键操作
    from selenium.webdriver.support import expected_conditions as EC  # 和下面WebDriverWait一起用的
    from selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素
    import time
    
    driver = webdriver.Chrome()    #声明驱动对象
    try:
        # 等待标签加载
        driver.implicitly_wait(10)
        # 往京东主页发送get请求
        driver.get('https://www.jd.com/')
    
        input_tag = driver.find_element_by_id('key')  #找到目标
        input_tag.send_keys('macbook pro')   #输入Python关键字
        # 控制键盘,按回车键
        input_tag.send_keys(Keys.ENTER)
        # 找到所有商品的div标签,里面包含所有li商品信息
        goods_div = driver.find_element_by_id('J_goodsList')  #用这个元素找id是q的元素
        # element:找第一个  elements:找所有
        items = goods_div.find_elements_by_class_name('gl-item')   #找class样式是gl-item
    # 循环所有li标签
        for item in items:
        # 找到商品链接
            good_link = item.find_element_by_css_selector('.p-img a').get_attribute('href')  #通过css样式查找
            # print(good_link)
    
            # 商品名称
            good_name = item.find_element_by_css_selector('.p-name em').text
            # print(good_name)
    
            # 商品价格
            good_price = item.find_element_by_css_selector('.p-price i').text + '$'
            # print(good_price)
    
            # 评价人数
            good_commit = item.find_element_by_css_selector('.p-commit a').text + "条评价"
            # print(good_commit)
    
            print('''
            商品链接: %s
            商品名称: %s
            商品价格: %s
            评价人数: %s
            
    
            '''% (good_link,good_name,good_price,good_commit))
            text = '''
            商品链接: %s
            商品名称: %s
            商品价格: %s
            评价人数: %s  
            
    
            '''% (good_link,good_name,good_price,good_commit)
            with open('jd.txt','a',encoding='utf-8') as f:
                    f.write(text)
        time.sleep(10)
    
    finally:
        driver.close()
    
  • 相关阅读:
    使用Subversion进行版本控制 针对 Subversion 1.4(根据r2866编译)-------<转载>这是重要的知识点
    UIImageView上添加Button不能响应点击事件[转]
    Unity3D基础学习篇Unity基本原理
    ObjectiveC基础知识-查漏补缺
    C# 参考之方法参数关键字:params、ref及out
    SQL SERVER 2000 创建挂起的文件操作 解决方法
    JavaScript trim函数大赏
    javascript的date对象的方法
    firefox getRangeAt
    ckeditor+ckfinder
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11626884.html
Copyright © 2011-2022 走看看