网站首页 站群工具 网站排名工具 正文
本源码转载于某破解论坛及圆柱博客,代码已经过整理,仅供学习。
如需使用,需配合下载包内的数据库。小白勿扰,有python基础者使用更佳!
由于本代码完全没有任何作用,现已停止分享!
运行环境
1、python;
2、动态拨号VPS;
3、安装Mysql数据库并导入.sql文件;
4、安装脚本需要的拓展库;
快排python源码
# -*- coding: utf-8 -*-from selenium import webdriver import time import requests import random import os from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import traceback import urllib.request import pymysql import socket #import win32api #pip install pypiwin32 #from selenium.webdriver.common.desired_capabilities import DesiredCapabilities #DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = True #rasdial 宽带连接 19ab68----643534 def connect(): cmd_str = "rasdial %s %s %s" % (g_adsl_account['name'], g_adsl_account['username'], g_adsl_account['password']) os.system(cmd_str) time.sleep(5) #"rasdial 断开宽带连接 /disconnect" def disconnect(): cmd_str = "rasdial %s /disconnect" % g_adsl_account['name'] os.system(cmd_str) time.sleep(5) #获取ip地址 def get_ip(): #return ['ip','address'] fp = urllib.request.urlopen("http://ip.chinaz.com/getip.aspx") mybytes = fp.read() # note that Python3 does not read the html code as string # but as html code bytearray, convert to string with mystr = mybytes.decode("utf8") fp.close() ip = mystr.find("ip") add = mystr.find("address") ip = mystr[ip+4:add-2] address = mystr[add+9:-2] return [ip,address] #将ip地址插入数据库 def insert_db(ipdate): #try: #获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库 conn=pymysql.connect(host='localhost',user='root',passwd='',port=3306,charset='utf8') cur=conn.cursor() #获取一个游标对象 #cur.execute("CREATE DATABASE zongzong") #执行对应的SQL语句 #exit() cur.execute("USE zongzong") #exit() #cur.execute("CREATE TABLE `ip_log` (`id` int(11) NOT NULL AUTO_INCREMENT,`ip` varchar(32) DEFAULT NULL,`address` varchar(64) DEFAULT NULL,`keyword` varchar(64) DEFAULT '',`url` varchar(256) DEFAULT '',`error` varchar(64) DEFAULT '',`created_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8;") #插入数据 ISOTIMEFORMAT='%Y-%m-%d %X' ipdate.append( time.strftime( ISOTIMEFORMAT, time.localtime() )) cur.execute("INSERT INTO ip_log(ip,address,keyword,url,error,page,rank,created_at) VALUES(%s, %s, %s, %s, %s, %s, %s, %s)",ipdate) #cur.execute("SELECT * FROM ip_log") #data=cur.fetchall() #print(data) cur.close()#关闭游标 conn.commit()#向数据库中提交任何未解决的事务,对不支持事务的数据库不进行任何操作 conn.close()#关闭到数据库的连接,释放数据库资源 #except: # print("发生异常") #获取搜素出来的url def get_search_url(driver): urls = [] real = [] real_url = [] click_link = [] content = driver.find_element_by_css_selector("div[id=\"content_left\"]") links = content.find_elements_by_tag_name("a") for link in links: if link.get_attribute('class') == "c-showurl": real.append(link.text) url = link.get_attribute('href') urls.append(url) #解密url header = requests.head(url).headers is_append = True for out_url in out_urls: if out_url in header['location']: is_append = False break if is_append == True: real_url.append(header['location']) #a标签对象 click_link.append(link) #print(real) #print(urls) #return urls return [real_url,click_link] #function:解析加密url,剔除竞争对手的url # def get_real_url(urls): # real_url = [] # for url in urls: # header = requests.head(url).headers # is_append = True # for out_url in out_urls: # if out_url in header['location']: # is_append = False # break # if is_append == True: # real_url.append(header['location']) # return real_url #function 目标地址是否在某个list中 def get_urlIndex(tagurl,urls): i = 0 has = -1 for url in urls: if tagurl in url: has = True return i i = i+1 return has #点击百度搜索内容下面的下一页 def click_nextBtn(driver): div = driver.find_element_by_css_selector("div[id=\"page\"]") a = div.find_elements_by_tag_name("a") for item in a: print(item.text) if item.text == "下一页>": item.click() return driver #随机点击 def click_search_url(driver,items): urls = [] real = [] content = driver.find_element_by_css_selector("div[id=\"content_left\"]") links = content.find_elements_by_tag_name("a") i=0 '''获取当前窗口''' nowhandle = driver.current_window_handle #allhandles=driver.window_handles #for handle in allhandles: # print('....当前窗口....',handle.title) #exit() for link in links: if link.get_attribute('class') == "c-showurl": if i in items: print("随机点击item:",i) print(link.get_attribute('href'),link.text) #exit() link.click() #停留在点击页面 time.sleep(random.randint(5,10)) '''获取所有窗口''' allhandles=driver.window_handles #for handle in allhandles: # print('....当前窗口....',handle.title) #exit() '''循环判断窗口是否为当前窗口''' for handle in allhandles: if handle != nowhandle: print("切换到当前窗口") driver.switch_to_window(handle) print("title:",driver.title) '''关闭当前窗口''' driver.close() '''回到原先的窗口''' print("切换到原来的窗口") driver.switch_to_window(nowhandle) print("title:",driver.title) print("本次随机点击完毕!") i=i+1 #获取随机点击的搜索页random.randint(0 def get_random_index(index,len): if index >= 8: random_index = [ random.randint(0,4),random.randint(5,8) ] elif index>=4: random_index = [ random.randint(0,3),random.randint(3,index) ] elif index>=0: random_index = [ index ] elif index == -1: if len <=5: random_index = [ random.randint(0,5) ] else: random_index = [ #random.randint(0,4),random.randint(5,len) random.randint(5,len) ] return random_index def getUA(): uaList = [ #360 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36", #chrome "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36", #"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", #firefox #"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0", "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0", #ie11 #"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko", #ie8 #"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.1357; 4399Box.1253; 4399Box.1357)", #2345王牌 #"Chrome/39.0.2171.99 Safari/537.36 2345Explorer/6.5.0.11018", #搜狗 #"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0", #opera "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60" ] headers = random.choice(uaList) return headers #屏幕浏览器窗口大小 def getWindowSize(): wind_size = [ [1920,1080], [1600,900], [1280,720] ] headers = random.choice(wind_size) return headers #屏幕分辨率设置 def setDisplay(): display_size = [ [1920,1080], [1680,1050], [1600,900], [1440,900], [1400,1050] ] d_size = random.choice(display_size) dm = win32api.EnumDisplaySettings(None, 0) dm.PelsWidth = d_size[0] dm.PelsHeight = d_size[1] dm.BitsPerPel = 32 dm.DisplayFixedOutput = 0 win32api.ChangeDisplaySettings(dm, 0) #拨号 19ab68----643534 g_adsl_account = { "name":"宽带连接", "username":"19ab68", "password":"643534" } #屏蔽点击的地址(竞争对手) out_urls = [ 'zhimo.yuanzhumuban.cc', 'bbs.yuanzhumuban.cc', 'http://money.163.com/15/0416/11/ANANRECC00253B0H.html' ] ##内页词 targetURL = [ ['http://www.zqcx.cn','站群程序'], ['t.zqcx.cn','站群养护'], ] for targetInfo in targetURL: try: #更换ip disconnect() connect() while(1): try: socket.gethostbyname("baidu.com") break; except: disconnect() connect() #更换分辨率 #setDisplay() #启动浏览器 #driver = webdriver.Ie() #driver = webdriver.Chrome() #driver = webdriver.Firefox() #设置PhantomJS的user_agent dcap = dict(DesiredCapabilities.PHANTOMJS) user_agent = getUA() print(user_agent) dcap["phantomjs.page.settings.userAgent"] = ( user_agent ) #dcap["phantomjs.page.settings.resourceTimeout"] = (15000) dcap["phantomjs.page.settings.loadImages"] = (False) driver = webdriver.PhantomJS(desired_capabilities=dcap,service_args=['--load-images=no']) # UA = getUA() # print(UA) # webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.User-Agent'] = UA # driver = webdriver.PhantomJS() driver.implicitly_wait(30) #清cookie driver.delete_all_cookies() #driver.maximize_window() # 浏览器全屏显示 #打开百度 driver.get("http://www.baidu.com/") #driver.get("http://mch.weiba01.com/2.php") #设置浏览器窗口大小 window_size = getWindowSize() driver.set_window_size(window_size[0], window_size[1]) #搜索某个关键词 print('打开百度成功',driver.title) target = targetInfo[0] keyword = targetInfo[1] if len(targetInfo)>2: error_keyword = targetInfo[random.randint(2,len(targetInfo)-1)] print(">>>>>>>>>>>>>>>点击的关键词:",keyword,"--->目标地址:",target,">>>>>>>>>>>>>>>>>>>>") if len(targetInfo)>2: #模拟错误关键词 print("点击错误关键词:",error_keyword); driver.find_element_by_id("kw").send_keys(error_keyword) time.sleep(2) driver.find_element_by_id("su").click() time.sleep(5) driver.find_element_by_id("kw").clear() time.sleep(2) print("错误关键词点击完毕") driver.find_element_by_id("kw").send_keys(keyword) #time.sleep(2) #点击搜索按钮 print("...开始点击搜索按钮..") driver.find_element_by_id("su").click() #exit() print("...点击完毕..") time.sleep(2) #获取搜索结果页 0:着陆页 1:对应的链接对象 urls_res = get_search_url(driver) real_urls = urls_res[0] #get_search_url(driver)[1][2].click() #real_urls = get_real_url(urls) print("搜索出来的可点击着陆页个数:",len(real_urls)) print(real_urls) index = get_urlIndex(target,real_urls) print("目标index:",index) page = 1 while index == -1 and page <= 4: if page == 1: #点击前面的几个着陆页,模拟用户真实行为 items = get_random_index(index,len(real_urls)) #items = [4] print(items) click_search_url(driver,items) #下一页 driver = click_nextBtn(driver) time.sleep(3) urls_res = get_search_url(driver) real_urls = urls_res[0] #real_urls = get_real_url(urls) print(real_urls) index = get_urlIndex(target,real_urls) page = page+1 if index > 4 and page == 1: #第一页,随机点击两个或一个 int = random.randint(1,2) if int == 2: items = get_random_index(index,len(real_urls)) else: items = [1] print(items) click_search_url(driver,items) if page >=5: print("没有找到目标地址,放弃搜索...") print("关闭浏览器") driver.quit() time.sleep(5) data = get_ip() data.append(keyword) data.append(target) data.append("no_find") data.append(-1) data.append(-1) insert_db(data) continue print("目标在page",page,"当前排名:",index,real_urls[index]) print("反问最后的目标页...") #driver.get(real_urls[index]) urls_res[1][index].click() time.sleep(5) nowhandle = driver.current_window_handle allhandles = driver.window_handles #目标页和搜索栏目页切换下 for handle in allhandles: if handle != nowhandle: print("切换到当前窗口") driver.switch_to_window(handle) stime = random.randint(15,25) #stime = 5; print("目标页title:",driver.title,"停留-->",stime) time.sleep(stime) '''关闭当前窗口''' driver.close() '''回到原先的窗口''' print("切换到原来的窗口") driver.switch_to_window(nowhandle) print("title:",driver.title) #time.sleep(random.randint(40,60)) #time.sleep(5) #清除所有cookie print("打印cookie") cookie= driver.get_cookies() print(cookie) print("清除cookie") driver.delete_all_cookies() print("打印cookie:") cookie= driver.get_cookies() print(cookie) #关闭浏览器 print("关闭浏览器") time.sleep(5) #driver.close() driver.quit() #time.sleep(5) #数据库记录运行信息 data = get_ip() data.append(keyword) data.append(target) data.append("success") data.append(page) data.append(index) insert_db(data) except: data = get_ip() data.append(keyword) data.append(target) data.append("faild") data.append(-1) data.append(-1) insert_db(data)
目录导航
运行环境
快排python源码
- 上一篇: 曹操老域名筛选查询工具
- 下一篇: Linux服务器发动CC(ddos)攻击脚本
必看说明
- 本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。
- 本站文章或仅为文本内容原创,非程序原创。如有侵权、不妥之处,请联系站长第一时间删除。敬请谅解!
- 本站所有内容严格遵守国家法律的条例,所有研究的算法技术均来源于搜索引擎公开默认允许用户研究使用的接口。
- 阅读本文及获取资源前,请确保您已充分阅读并理解《访问曹操SEO网站需知:行为准则》。
- 本站分享的任何工具、程序仅供学习参考编写架构,仅可在本地的虚拟机内断网测试,严禁联网运行或上传搭建!
- 任何资源必须在下载后24个小时内,从电脑中彻底删除。不得传播或者用于其他任何用途!否则一切后果用户自负!
- 转载请注明 : 文章转载自 站群程序 百度快排发包python源码核心文件
- 本文标题:《百度快排发包python源码核心文件》
- 本文链接:http://www.zqcx.cn/881.html
猜你喜欢
- 2023-09-15 什么叫做搜搜引擎适合收录的内容?
- 2023-06-16 为泛目录关键词提供下拉词联想功能
- 2023-05-07 多搜索引擎采集关键词工具(带源码)
- 2022-09-27 企业做SEO的成本是怎么计算的?
- 2022-08-31 村兔百度下拉词相关词采集工具
- 2022-08-14 老派Seo:百度霸屏引流课程搜索引擎推广全系视频教程56集
- 2022-04-27 盘点2022年春季没用的快排软件
- 2022-04-04 近期百度再次改版,将使得现有的点击排名软件失效
- 2022-02-25 百度起诉“点击宝SEO”和“精灵SEO计费系统”索赔千万
- 2021-09-10 免费的百度SEO搜索点击软件
你 发表评论:
欢迎- 8094℃遵纪守法:一起举报违法网址
- 7229℃警惕“冒用身份”的电信网络诈骗
- 7215℃备案域名的买卖管控会越来越严,不要尝试!
- 5100℃6月1日是《中华人民共和国网络安全法》实施五周年
- 4527℃违规事件分类与违规信息类型说明
- 4454℃关于严格遵守网络安全法规的公告
- 6440℃百度正打击构造虚假标题等违规站点
- 8176℃「百日行动」“断卡”行动持续发力
- 16125℃懒人开源站群程序V2.4.2:影视模板V2
- 15750℃通过Nginx配置增强网站安全性
- 14665℃多线程批量查询百家号文章存活情况
- 14486℃搜狐号安全系统升级通知
- 12302℃多线程批量查询链接收录情况(免代理)
- 12105℃百家号批量发布软件V1.8.5
- 11290℃企业网站安全漏洞应对:从修复到增强全方位安全新举措
- 8350℃CCSEO原创蜘蛛统计v1.3
- 12-09百家号批量发布软件V2.4.4
- 10-06关于SEO的一些真诚思考
- 08-18罪恶克星:不良网站举报工具填表版
- 05-01多线程批量查询百家号文章存活情况
- 04-22通过Nginx配置增强网站安全性
- 04-22企业网站安全漏洞应对:从修复到增强全方位安全新举措
- 04-21搜狐号安全系统升级通知
- 04-18多线程批量查询链接收录情况(免代理)
- 近期评论
- 文章归档
-
- 2024年10月 (1)
- 2024年8月 (1)
- 2024年5月 (1)
- 2024年4月 (10)
- 2024年3月 (6)
- 2024年1月 (2)
- 2023年12月 (4)
- 2023年11月 (2)
- 2023年10月 (7)
- 2023年9月 (24)
- 2023年8月 (6)
- 2023年7月 (20)
- 2023年6月 (13)
- 2023年5月 (26)
- 2023年4月 (48)
- 2023年3月 (21)
- 2023年2月 (15)
- 2023年1月 (10)
- 2022年12月 (10)
- 2022年11月 (3)
- 2022年10月 (28)
- 2022年9月 (37)
- 2022年8月 (16)
- 2022年7月 (23)
- 2022年6月 (24)
- 2022年5月 (10)
- 2022年4月 (53)
- 2022年3月 (67)
- 2022年2月 (3)
- 2022年1月 (4)
- 2021年12月 (24)
- 2021年11月 (18)
- 2021年10月 (3)
- 2021年9月 (22)
- 2021年8月 (60)
- 2021年7月 (3)
- 2021年6月 (16)
- 2021年5月 (25)
- 2021年4月 (1)
- 2021年3月 (39)
- 2021年1月 (7)
- 2020年12月 (19)
- 2020年11月 (11)
- 2020年10月 (49)
- 2020年9月 (114)
- 2020年8月 (63)
- 2020年7月 (28)
- 2020年6月 (50)
- 2020年5月 (124)
- 2020年4月 (83)
- 2020年3月 (91)
- 2020年2月 (81)
- 2020年1月 (18)
- 2019年12月 (79)
- 2019年11月 (16)
- 2019年10月 (35)
- 2019年9月 (3)
- 2017年12月 (1)
- 2017年11月 (203)
- 2017年10月 (155)
- 标签列表
- 站点信息
-
- 文章总数:2025
- 页面总数:7
- 分类总数:46
- 标签总数:339
- 评论总数:9366
- 浏览总数:5898972
本文暂时没有评论,来添加一个吧(●'◡'●)