巅峰技术之拼夕夕案例,登录某多的平台,然后抓取爆款产品,干货太多,技术太先进,实操性太强,代码简洁、低调、上档次。

本文介绍了如何使用Python的Selenium库爬取某多平台的爆款商品数据,以帮助电商从业者分析市场,打造或保护自己的爆款产品。代码示例展示了登录过程、数据抓取以及处理验证码的技巧,强调了此类技术在电商策略中的应用价值。
摘要由CSDN通过智能技术生成

低价产品哪里找,某多平台一箩筐,爬取某多平台获取爆款数据对电商行业来说很有价值。从事电商的人想打造自己的爆款产品,一是要截流别人的爆款产品,二是防止自己的爆款产品被截流,三是挖掘新的爆款产品。让自己尽可能获取平台流量,让自己的投产比高,是每个电商人员关心的事情。

下面是实操性很强的代码,希望能给编程爱好者的IT技能带来大的提升。

# coding:utf-8
import sys
import os
# 获取当前文件的目录
cur_path = os.path.abspath(os.path.dirname(__file__))
sys.path.append(cur_path)
import re
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from 上传爆款信息 import UpData
import json
cookie_path = r'F:\\code.fy.com\\selenium_chrome\\User_Data'


class PDD:
    def __init__(self):
        chrome_options = webdriver.ChromeOptions()
        # chrome_options.add_argument('--proxy-server={0}'.format(self.proxy.proxy))
        # chrome_options.add_argument('--blink-settings=imagesEnabled=false')
        chrome_options.add_argument('--user-data-dir='+cookie_path)
        chrome_options.add_argument('ignore-certificate-errors')
        self.driver = webdriver.Chrome(chrome_options=chrome_options,
                                       executable_path=r'F:\code.fy.com\selenium_chrome\chromedriver.exe')
        self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
            "source": """
                        Object.defineProperty(navigator, 'webdriver', {
                          get: () => undefined
                        })
                      """
        })
        with open('stealth.min.js', encoding='utf-8') as f:
            js = f.read()
        self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
            "source": js
        })
        self.curr_status()
        print("wph睡眠2秒来输入验证码")
        time.sleep(2)


        print("已登录,现在为您保存cookie...")
        with open('cookie.txt', 'w', encoding='u8') as f:
            json.dump(self.driver.get_cookies(), f)

        # PGT_pagerItem_18vhn93
        chang_flag = None
        if 'PGT_pagerItem_' in self.driver.page_source:
            list1 = re.findall('PGT_pagerItem_(.*?)"', self.driver.page_source)
            if list1:
                print(list1)
                if 'PGT_pagerItem_' + list1[-1] in self.driver.page_source:
                    print('ok2')
                    list2 = re.findall('PGT_pagerItem_' + list1[-1] + '">([0-9]*?)<', self.driver.page_source)
                    if list2:
                        print(list2)
                        chang_flag = list2[-1]


                else:
                    print('没获取到 页数2')
            else:
                print('没获取到 页数1')
        if chang_flag:
            # 注意程序还差一个获取页数的代码
            UpData(page_max=int(chang_flag))
            print('上传完成')
            self.driver.close()
        else:
            print('没找到最大页数')

    # 是否登录过期
    def curr_status(self):
        base_url = "https://某多网址/act-bidding/home"
        self.driver.get(base_url)
        time.sleep(2)
        self.driver.refresh()
        time.sleep(10)



        if '扫码登录' in self.driver.page_source or '账号登录' in self.driver.page_source or '忘记密码' in self.driver.page_source:
            print("wph睡眠30秒来输入验证码")
            time.sleep(30)

            acc_login_ele = self.driver.find_element(By.CLASS_NAME, 'last-item')
            if acc_login_ele:
                acc_login_ele.click()
                time.sleep(1)
                user_ele = self.driver.find_element(By.ID, 'usernameId')
                acc = '你的账号'
                user_ele.send_keys(acc)
                pass_ele = self.driver.find_element(By.ID, 'passwordId')
                pwd = 'q258599831' #账号密码
                pass_ele.send_keys(pwd)
                list1 = re.findall('(BTN_danger_.+) ', self.driver.page_source)
                if list1:
                    print(list1)
                    login_ele = self.driver.find_element(By.CLASS_NAME, 某种样式,不会的可以私信联系我)
                    login_ele.click()



        return

    def get_cookie_info(self):
        pass


if __name__ == '__main__':
    pdd = PDD()

郑重声明,水能载舟,水亦能覆舟。IT技术可以促进互联网更快,更高,更好发展。同样IT技术也会危害互联网的发展。所以,我们要掌握IT技术,我们同样要了解互联的知识,遵守互联网的规则,切勿触碰违法事业。

以上代码百分百原创,仅供学习。欢迎大家一起讨论,共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆向导师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值