电商工作代码

from selenium import webdriver
from scrapy.selector import Selector
import  time
import random
import pymysql
from urllib import parse
import re
import  os

        # a = Selector(text=webdriver.page_source)
        # if a.xpath(‘//*[@id="J_submit"]‘):
        #     time.sleep(15)
        #     for i in Selector(text=webdriver.page_source).xpath(‘//*[@id="J_ShopSearchResult"]/div/div[2]/div/dl‘):
        #         bd_pig = i.xpath("./dt/a/img/@src").re(‘.*(img.*?jpg)‘)
        #         bd_name = i.xpath(‘./dd[1]/a/text()‘).extract_first(‘‘)
        #         bd_id = i.xpath(‘./dd[1]/a/@href‘).extract_first(‘‘)
        #         bd_much = i.xpath(‘./dd[1]/div/div[1]/span[2]/text()‘).extract_first(‘‘)
        #         bd_liang = i.xpath(‘./dd[1]/div/div[last()]/span/text()‘).extract_first(‘‘)
        #
        #         sql = "INSERT INTO " + i.split(",")[0] + "( `id`,图片链接,价格,标题,销量) VALUES (%s,%s,%s,%s,%s)"
        #         cursor.execute(sql,
        #                             (bd_id, bd_pig, bd_much, bd_name, bd_liang))
        #         self.connection.commit()
        # else:
        #     for i in Selector(text=webdriver.page_source).xpath(‘//*[@id="J_ShopSearchResult"]/div/div[2]/div/dl‘):
        #         bd_pig = i.xpath("./dt/a/img/@src").re(‘.*(img.*?jpg)‘)
        #         bd_name =‘‘.join(re.findall(‘[\u4e00-\u9fa5]‘, i.xpath(‘./dd[1]/a/text()‘).extract_first(‘‘)))
        #         bd_id = ‘‘.join(re.findall(‘\d‘, i.xpath(‘./dd[1]/a/@href‘).extract_first(‘‘)))
        #         bd_much = i.xpath(‘./dd[1]/div/div[1]/span[2]/text()‘).extract_first(‘‘)
        #         bd_liang = i.xpath(‘./dd[1]/div/div[last()]/span/text()‘).extract_first(‘‘)
        #
        #         sql = "INSERT INTO " + shop.split(",")[0] + "( `id`,图片链接,价格,标题,销量) VALUES (%s,%s,%s,%s,%s)"
        #         cursor.execute(sql,
        #                        (bd_id, bd_pig, bd_much, bd_name, bd_liang))
        #         conection.commit()
class spider(object):

    def chul3(self,dates):
        a = Selector(text=dates)
        next_url = a.xpath(‘//*[@id="J_ShopSearchResult"]/div/div[2]/div[10]/a[11]/@href‘).extract_first("")
        return ‘https:‘+next_url
chuli=spider()

conection = pymysql.connect(host=‘localhost‘,user=‘root‘,password=‘123‘,db=‘7.24测试‘,charset=‘utf8mb4‘,cursorclass=pymysql.cursors.DictCursor)
with conection.cursor() as cursor:
    sql1 = "select * from 商品id"
    cursor.execute(sql1)
    shop_id = cursor.fetchall()
    shop_oldid=[i[‘id‘] for i in shop_id]
    sql1 = ‘‘‘
    SELECT
`商品id`.id,
`上架时间`,‘1天销量‘ as 日期
FROM
`商品id` WHERE  TIMESTAMPDIFF(DAY,`上架时间`,CURDATE())   =1 union  SELECT
`商品id`.id,
`上架时间`,‘7天销量‘ as 日期
FROM
`商品id` WHERE  TIMESTAMPDIFF(DAY,`上架时间`,CURDATE())   =7
union  SELECT
`商品id`.id,
`上架时间`,‘30天销量‘ as 日期
FROM
`商品id` WHERE  TIMESTAMPDIFF(DAY,`上架时间`,CURDATE())   =30‘‘‘
    cursor.execute(sql1)
    shop_id = cursor.fetchall()
    shop_olxx = [i for i in shop_id]
conection.commit()
cursor =conection.cursor()
webdriver = webdriver.Ie()
url = ‘https://login.taobao.com/member/login.jhtml?spm=a21bo.50862.754894437.1.5dcec6f76Oq9Wh&f=top&redirectURL=https%3A%2F%2Fwww.taobao.com%2F%3Fspm%3Da1z10.1-c-s.1581860521.1.559a715a3EnsHq‘
webdriver.get(url)
time.sleep(20)
def lll(url):
    webdriver.implicitly_wait(50)
    webdriver.get(url)
    myDynamicElement = webdriver.find_element_by_class_name(‘pagination‘)
    a=webdriver.page_source
    time.sleep(random.randrange(2,6))
    selects=Selector(text=a)
    for i in selects.xpath(‘//*[@id="J_ShopSearchResult"]/div/div[2]/div/dl‘):
        bd_pig = i.xpath("./dt/a/img/@src").re(‘(.*)_‘)
        bd_name = ‘‘.join(re.findall(‘[\u4e00-\u9fa5]‘, i.xpath(‘./dd[1]/a/text()‘).extract_first(‘‘)))
        bd_id = ‘‘.join(re.findall(‘\d‘, i.xpath(‘./dd[1]/a/@href‘).extract_first(‘‘)))
        bd_much = i.xpath(‘./dd[1]/div/div[1]/span[2]/text()‘).extract_first(‘‘)
        bd_idlian=‘http://item.taobao.com/item.htm?id=‘+bd_id
        bd_liang = i.xpath(‘./dd[1]/div/div[last()]/span[last()]/text()‘).extract_first(‘‘)
        if  bd_id not in shop_oldid:
            sql = "INSERT INTO 商品id (`品牌`, `id`,图片链接,价格,标题,商品地址) VALUES (%s,%s,%s,%s,%s,%s)"
            cursor.execute(sql,
                           (shop.split(",")[0], bd_id, bd_pig, bd_much, bd_name,bd_idlian))
            conection.commit()
            webdriver.implicitly_wait(50)
            webdriver.get(‘http://item.taobao.com/item.htm?id=‘+bd_id)
            myDynamicElement = webdriver.find_element_by_class_name(‘tb-price-spec‘)
            time.sleep(random.randrange(2, 6))
            date=webdriver.page_source
            select_xixi = Selector(text=date)
            liem = select_xixi.xpath(‘//*[@id="J_TMySize"]/@data-value‘).extract_first("")
            sql = ‘update  `商品id`  set  `商品id`.`类目` = %s  where id = %s‘
            cursor.execute(sql,
                           (liem, bd_id))
            conection.commit()
            c=1
            ee=1
            for i in select_xixi.xpath(‘//*[@id="J_isku"]/div/dl‘):
                b = i.xpath(‘./dt/text()‘).extract_first("")
                if ‘尺码‘ in b:
                    aa = i.xpath(‘./dd/ul/li/a/span/text()‘).extract()
                    ee = len(aa)
                    dd = ‘ ‘.join(aa)
                    sql = ‘update  `商品id`  set  `商品id`.`尺码` = %s  where id = %s‘
                    cursor.execute(sql,
                                   (dd, bd_id))
                    conection.commit()
                if ‘颜色‘ in b:
                    a = i.xpath(‘./dd/ul/li/a/span/text()‘).extract()
                    c = len(a)
                    d = ‘ ‘.join(a)
                    sql = ‘update  `商品id`  set  `商品id`.`颜色` = %s  where id = %s‘
                    cursor.execute(sql,
                                   (d, bd_id))
                    conection.commit()
            w = c * ee
            sql= ‘update  `商品id`  set  `商品id`.`sku量` = %s  where id = %s‘
            cursor.execute(sql,
                           (w,bd_id))
            conection.commit()

            title = path + r‘\\‘ +shop.split(",")[0] + r‘\\‘ + ‘‘.join(
                re.findall(‘\d‘, i.xpath(‘./dd[1]/a/@href‘).extract_first(‘‘))) + re.sub("\W", "", webdriver.title)
            capture(webdriver, title + ‘.jpg‘)
        for i in shop_olxx:
            if i[‘id‘] == bd_id:
                sql = "UPDATE 商品id set " + i[‘日期‘] + " =  (%s) where id = %s"
                cursor.execute(sql,
                               (bd_liang, i[‘id‘]))
                conection.commit()
    if  selects.xpath(‘//*[@id="J_ShopSearchResult"]/div/div[2]/div[last()]/a[last()]/@href‘).extract_first(""):
        lll(‘https:‘+selects.xpath(‘//*[@id="J_ShopSearchResult"]/div/div[2]/div[last()]/a[last()]/@href‘).extract_first(""))

path=os.getcwd()

def capture(webder, save_fn="capture.png"):
    # browser = webdriver.Ie()  # Get local session of firefox

    # browser.get(url)  # Load page
    webder.execute_script("""
               (function () {
                 var y = 0;
                 var step = 100;
                 window.scroll(0, 0);

                 function f() {
                   if (y < document.body.scrollHeight) {
                     y += step;
                     window.scroll(0, y);
                     setTimeout(f, 50);
                   } else {
                     window.scroll(0, 0);
                     document.title += "scroll-done";
                   }
                 }

                 setTimeout(f, 1000);
               })();
             """)

    for i in range(30):
        if "scroll-done" in webder.title:
            break
        time.sleep(1)

    webder.save_screenshot(save_fn)
with open(os.getcwd() + r‘\1.csv‘, ‘r‘) as c:
    for shop in c.readlines():
        url = shop.split(",")[2]
        lll(url)
时间: 2024-07-29 19:57:25

电商工作代码的相关文章

代理IP软件对于电商工作的作用

代理IP软件对于电商工作的作用有哪些?我们现在的生活中,网络的发展速度是非常迅速的,所以有很多企业是依靠网络发展也更加壮大.现在电商的出现,方便了我们的生活.所以也有越来越多电商如雨后春笋般出现,成为了一种专业的行业,而且获取的利益也是非常可观的.但是这种特殊的行业,是如何找到自己的客源呢?代理IP软件对于电商工作的作用 我们就拿现在风靡朋友圈的微商行业来说,即使是规模非常大的微商企业,传统的实体店固定客流量是不能满足他们要求的.因此他们就会用其他方法来增加自己的客源. 代理IP软件在他们寻找客

杭电 OJ 提交代码需要注意的问题

杭电acm 提交代码需要注意的问题 1. 用 Java 的时候类名请用 Main 2. Java 提交出现 PE 的可能原因有 1) 最基本的错误是空格问题,比如注意每行的末尾是否输出空格 2) 用 Java 提交的时候需要注意换行是用的什么方法输出的,如果用 System.out.printf() 这个格式化输出,请使用 %n 或者 \r\n 作为转义符,而不要用 \n,也可以用 System.out.println() 输出换行 3. 对包含比较精确的数字计算最好使用 C/C++ 语言,对于

在通信设备商工作那几年技术上的得与失

本人硕士毕业后的头几年是主要在通信设备商(他们研发生产通信设备(如基站)卖给电信运营商(如中国移动))工作,那时是通信业的黄金十年,单是通信设备商就有很多家,国内有华为.中兴.大唐.烽火等,国外有爱立信.诺基亚.西门子.摩托罗拉.朗讯.北电.阿尔卡特等.这里面的有些公司现在刚毕业的可能都没听说过,因为它们要么被兼并要么倒闭了,这要"归功"于华为(是华为打的他们无还手之力导致要么兼并要么倒闭的).现在这个领域主要有四个玩家了,国内的华为和中兴,国外的爱立信和诺基亚.这个诺基亚跟手机领域的

类似电商倒计时代码

<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="apple-mobile-web-app-title" content=""> <meta http-equiv="Cache-Contr

【完整版】七千字长文揭秘万达电商

本人17年工作经验,在加盟万达电商之前做过技术.销售.咨询,就企业性质而言私企.国企.外企都干过.与此前的经历相比,万达电商有很多值得八卦的地方. 大时代提供的机遇--揭秘万达电商(1) 不期而至的选择 2013年5月,猎头推荐工作机会--万达电商,开始我兴趣不大,原因你懂的--经过几轮沟通,我于2014年初,结束手中200万的咨询项目正式加盟. 至今都有不少朋友质疑,"听说这家公司很乱啊!人员不稳定,方向不明确!你胆儿还挺大--" 客观讲,万达电商能给出的薪水处于市场较高水平,极具诱

电商论道---(1)概述

经过一段时间的沉寂,准备把自己工作中用到的技术,设计方案,以及遇到的一些问题拿出来一起与大家分享,讨论.本人从事电商工作多年,同时也非常喜欢电商,愿与在路上的人一起来共同学习. 在接下来的日子里,会写一个系列的随笔,把电商上中用到技术,电商中各个功能模块的设计,以及好的解决方案,整理出来与大家一起交流.之前是学习.NET的,所以用到的技术方面的相关问题,可能会用.NET来实现.事实上,只要明白原理,用什么技术实现都是无关紧要的. 此系列之所以称为随笔,是因为想到哪里写到哪里,并没有按一定的顺序,

史上最完整跨境电商投资分析报告!

时下,跨境电商异常火爆!又加上最近国务院连续出台政策促进跨境电商发展,更是引来了全社会的关注!跨境电商这个因互联网而崛起的新兴行业到底是什么?怎样抓住机遇投资这个行业?我想只有张老师的这篇年度大作能够给大家一个满意的答案!文章内容丰富,知识信息量极大,建议各位大大先收藏好,在空闲时间静下心来慢慢阅读和思考! 引言:何为跨境电商? ★海淘? ★代购? ★跨境电商? 我们今天谈论的“跨境电商”是指以电商方式进行的国际贸易(对一国而言,包括以电商方式进行的出口和出口) 一 .国贸新模式:跨境电商 1.

农村电商的市场规模以及未来发展趋势

农村电商顾名思义就是把农村区域的产品.服务通过互联网的方式在网络上推广,交易,买卖.近些年来,由政府各部门大力扶持的农村电商从萌芽阶段逐步发展成为一个初具规模的市场,迄今为止,财政部.商务部累计支持756个县开展了电子商务进农村综合示范,每个县支持财政资金2000万元,重点用于基层站点.县乡物流.人才培训.电商园区和农产品上行等方面.各大电商平台也纷纷下乡,在基层设立站点,在县级设立农村电商服务中心,招募大量当地和返乡青年参与经营. 我国是农业大国,农村电商也是以农业为核心,深度结合互联网模式,

工作生活及未来畅想 —— 杂谈

不知不觉24岁了,毕业工作了两年+,一份没有目标的工作,混吃等死,浑浑噩噩,想逃脱这温水煮青蛙的生活,逃离这个环境,给自己的压力总是很大,担心着以后,在意着别人的看法,犹犹豫豫,患得患失. 见过的大部分人都不满意现在的生活,却又无力改变,忍受枯燥乏味的工作,日复一日的生活,没有前景的工作,不好的工作环境,可却无力改变,马云说:“晚上想想千条路,早上起来走原路”.是啊,每天都要工作,不工作饭都没得吃,路还是要走,人生这条路,又有谁说的对. 总的想的太多,做的太少,没看几本书,却因那片面的新闻和文章