浏览量:7次
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import time
import random
import pyautogui
def main(args):
Inputkeywords = args
XHSfind = xbot.web.create("https://www.xiaohongshu.com/explore","chrome",load_timeout = 30)
Delaytime = random.uniform(5, 10)
time.sleep(Delaytime)
Inputbox = XHSfind.find_by_xpath('//input[@id="search-input"]')
Inputbox.input(Inputkeywords,send_key_delay=800,delay_after=3)
Searchbutton = XHSfind.find_by_xpath('//div[@class="search-icon"]')
Searchbutton.click(delay_after = 3,move_mouse = True)
Delaytime = random.uniform(5, 10)
time.sleep(Delaytime)
XHSbrowser = xbot.web.get_active(mode='chrome')
User = XHSbrowser.find_by_xpath('//div[@id="user" or text()=" 用户"]')
User.click()
Delaytime = random.uniform(5, 10)
time.sleep(Delaytime)
def check_element_exists():
try:
XHSbrowser = xbot.web.get_active(mode='chrome')
element = XHSbrowser.find_by_xpath('//div[@class="end-container status-container" or text()=" - THE END - "]', timeout=1)
return element.is_displayed()
except:
return False
def scroll_down_pixels(pixels: int):
Delaytime = random.uniform(2, 5)
time.sleep(Delaytime)
pyautogui.scroll(-pixels)
return None
话术1 = "[点赞R][点赞R]"
话术2 = "[抱拳R]"
话术3 = "[抱拳R][抱拳R][点赞R]"
话术4 = "[抱拳R][点赞R]"
话术5 = "[点赞R][抱拳R][抱拳R][点赞R]"
话术6 = "[抱拳R][抱拳R][抱拳R]"
话术7 = "[点赞R][点赞R][点赞R]"
随机话术 = [话术1,话术2,话术3,话术4,话术5,话术6,话术7]
while check_element_exists() ==False:
Delaytime = random.uniform(1, 5)
time.sleep(Delaytime)
Mouseindex = xbot.win32.mouse_move(point_x=10,point_y=500,move_speed='slow',delay_after=1)
xbot.win32.mouse_click()
scroll_down_pixels(800)
time.sleep(5)
XHSbrowser = xbot.web.get_active(mode='chrome')
XHSbrowser.scroll_to(location='top',behavior='smooth')
Allcompany = XHSbrowser.find_all_by_xpath('//div//a/div[@class="user-item-box"]')
print(f"下翻网页完成,共找到 {len(Allcompany)} 个用户,【前期准备】运行无异常")
count = 0
for i, Company in enumerate(Allcompany):
留言话术 = random.choice(随机话术)
index = i+1
try:
XHSbrowser = xbot.web.get_active(mode='chrome')
CompanyText = Company.get_text()
if "更新" in CompanyText:
try:
Company.click(delay_after = 3,move_mouse = True)
Delaytime = random.uniform(2, 5)
time.sleep(Delaytime)
CompanyUser = xbot.web.get_active(mode='chrome')
Note = CompanyUser.find_by_xpath('//span[normalize-space(.)="笔记" or text()="笔记"]',timeout=5)
Note.click(delay_after = 3,move_mouse = True,anchor=('bottomRight',0,180))
Delaytime = random.uniform(2, 5)
time.sleep(Delaytime)
User = xbot.web.get_active(mode="chrome")
Messageinputbox = User.find_by_xpath('//div[@class="inner"]//span[text()="评论" or text()="说点什么..."]',timeout=5)
Messageinputbox.input(留言话术,simulative=True,send_key_delay=800,delay_after=3,contains_hotkey=True)
xbot.win32.send_keys(keys='{enter}')
Delaytime = random.uniform(2, 5)
time.sleep(Delaytime)
xbot.win32.send_keys(keys='{Esc}')
CompanyUser = xbot.web.get_active(mode='chrome')
CompanyUser.close()
except:
pass
count = count + 1
if count < 100:
print(f"循环{i+1}次,第{count}次评论,话术{留言话术}:公司名称:{CompanyText}")
else:
break
else:
continue
except:
Delaytime = random.uniform(1, 5)
time.sleep(Delaytime)
continue
XHSbrowser.close()
pass
#仅供学习交流,严禁商用。 技术支持:若愚网络 汪华贝 18110488611(同V)