selenium/requess爬取京东手机商品的详细信息1~selenium练习版

selenium/requess爬取京东手机商品的详细信息1~selenium!!

前言

因为我也是个学生,所以代码可能会有点繁琐,我们都是超能100,一点点积累进步,其实有很多的地方可以简化,因为我是要去了解每一个语法的应用场景,所以会尽可能的使用更多的语法,可以简化的地方我会给大家在注释标注,希望大家也能自己多动手,因为我是学大数据的,所以相信一个道理,所有的东西都要化繁为简,能把100浓缩到99直到1是一个很艰难的过程,要坚持住,多思考。

数据信息

在这里插入图片描述## 爬取商品介绍用于后续分析

import csv
import json
import re
import time

from selenium import webdriver

#声明插件的路径
driver_path = r'F:\Pycharm\chromedriver.exe'
#声明一个谷歌插件,不加载图片#不加载图片节省时间
options = webdriver.ChromeOptions()
options.add_experimental_option('prefs', {
   'profile.managed_default_content_settings.images': 2})
#设置属性
driver = webdriver.Chrome(executable_path=driver_path,options=options)
#url
#声明一个list,用来存储dict
data_list = []

#定义
def start_s ():
    with open('data_csv.csv', 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
        next(reader)
        for i in reader:
            st = i[2]
            url = st
            print('====='+url+'====')
            driver.get(url)
            #sleep睡眠对于很多网页是必须的,加上headers有时候也是需要的,因为很多的大型网站都是由反爬措施的。
            time.sleep(5)
            lits = driver.find_elements_by_class_name('p-parameter')
            print(lits)
            for li in lits:
                # goods_name = li.find_elements_by_xpath('.//ul[@class="parameter2 p-parameter-list"]/li')[0].text

                try:
                    goods_name = li.find_element_by_xpath('.//ul[@class="parameter2 p-parameter-list"]/li[contains(text(), "商品名称")]').text
                    pattern = r"商品名称:"
                    goods_name = re.sub(pattern, "", goods_name, flags=re.S)
                except Exception as e:      goods_name = None
                try:
                    goods_id = li.find_element_by_xpath('.//ul[@class="parameter2 p-parameter-list"]/li[contains(text(), "商品编号")]').text
                    pattern = r"商品编号:"
                    goods_id = re.sub(pattern,"",goods_id,flags=re.S)
                except Exception 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值