闲鱼秒拍脚本,闲鱼商品监控工具,闲鱼捡漏秒拍插件软件【python】

69 阅读1分钟

下载地址:www.pan38.com/dow/share.p… 提取密码:2891

这个闲鱼秒拍系统包含四个主要模块:主程序入口、商品监控、自动下单和配置管理。使用时需要配置cookie和监控参数,系统会自动监控指定关键词的商品并在发现低价商品时自动下单。

import time from monitor import XianyuMonitor from order import AutoOrder from config import load_config

def main(): config = load_config() monitor = XianyuMonitor( keywords=config['keywords'], max_price=config['max_price'], interval=config['monitor_interval'] ) order_bot = AutoOrder( cookie=config['cookie'], max_retry=config['max_retry'] )

while True:
    try:
        items = monitor.search_items()
        for item in items:
            if monitor.is_bargain(item):
                order_bot.purchase(item)
                print(f"成功秒拍商品: {item['title']}")
        time.sleep(config['monitor_interval'])
    except Exception as e:
        print(f"发生错误: {str(e)}")
        time.sleep(60)

if name == "main": main()

import requests from bs4 import BeautifulSoup import re import json

class XianyuMonitor: def init(self, keywords, max_price, interval=10): self.keywords = keywords self.max_price = max_price self.interval = interval self.headers = { 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1' }

def search_items(self):
    url = f"https://s.2.taobao.com/list/list.htm?q={self.keywords}&search_type=item"
    response = requests.get(url, headers=self.headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    
    items = []
    for item in soup.select('.item-info'):
        try:
            title = item.select_one('.item-title').text.strip()
            price = float(re.search(r'\d+\.\d+', item.select_one('.price').text).group())
            item_id = item.select_one('.item-title')['href'].split('id=')[1]
            
            items.append({
                'id': item_id,
                'title': title,
                'price': price,
                'url': f"https://2.taobao.com/item.htm?id={item_id}"
            })
        except:
            continue
    return items

def is_bargain(self, item):
    return item['price'] <= self.max_price * 0.7

time import random 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

class AutoOrder: def init(self, cookie, max_retry=3): self.cookie = cookie self.max_retry = max_retry self.driver = None

def init_driver(self):
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')
    self.driver = webdriver.Chrome(options=options)

def purchase(self, item):
    if not self.driver:
        self.init_driver()
    
    for _ in range(self.max_retry):
        try:
            self.driver.get(item['url'])
            for c in self.cookie.split(';'):
                name, value = c.strip().split('=', 1)
                self.driver.add_cookie({'name': name, 'value': value})
            
            self.driver.refresh()
            WebDriverWait(self.driver, 10).until(
                EC.presence_of_element_located((By.CLASS_NAME, 'buy-btn'))
            ).click()
            
            WebDriverWait(self.driver, 10).until(
                EC.presence_of_element_located((By.CLASS_NAME, 'submit-btn'))
            ).click()
            
            time.sleep(random.uniform(0.5, 1.5))
            return True
        except Exception as e:
            print(f"下单失败: {str(e)}")
            time.sleep(1)
    return False