好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python爬蟲之用Xpath獲取關鍵標簽實現自動評論蓋樓抽獎(二)

Python爬蟲之用Xpath獲取關鍵標簽實現自動評論蓋樓抽獎(二)

熱門標簽:南陽打電話機器人 打電話機器人營銷 商家地圖標注海報 海外網吧地圖標注注冊 ai電銷機器人的優勢 聊城語音外呼系統 地圖標注自己和別人標注區別 孝感營銷電話機器人效果怎么樣 騰訊地圖標注沒法顯示

一、分析鏈接

上一篇文章指路

一般來說,我們參加某個網站的蓋樓抽獎活動,并不是僅僅只參加一個,而是多個蓋樓活動一起參加。

這個時候,我們就需要分析評論的鏈接是怎么區分不同帖子進行評論的,如上篇的刷帖鏈接,具體格式如下:

https://club.hihonor.com/cn/forum.php?mod=postaction=replyfid=154tid=21089001extra=page%3D1replysubmit=yesinfloat=yeshandlekey=fastpostinajax=1

這里面用于區分不同帖子的鍵是tid,不妨大家可以會看上一篇博文評論帖子的鏈接,是不是同樣有一個21089001的數字。

而經過博主的測試,該網站評論post請求網址除了tid之外,其他數據是一模一樣的并不需要變更。所以,我們切換新帖子評論時,只需要替換tid的值就行。

二、切分提取tid

讀者可以自行隨便打開一個該網站的帖子,我們一般會得到如下形式的字符串帖子鏈接:

https://club.hihonor.com/cn/thread-26194745-1-1.html

這里,我們需要應用字符串切割知識,來獲取鏈接字符串種的長數字字符串26194745。具體代碼如下:

import re
# 獲取需要評論的所有網頁鏈接
url_start = "https://club.hihonor.com/cn/forum.php?mod=postaction=replyfid=4515tid="
url_end = "extra=page%3D1replysubmit=yesinfloat=yeshandlekey=fastpostinajax=1"

url = []  # 評論網頁
txt_url = []  # 提供的網頁(格式不同)
f = open("隨機帖子.txt", "r", encoding='utf-8')
line = f.readline()  # 讀取第一行
while line:
    if re.match(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', line):
        txt_url.append(line.strip())  # 列表增加
    line = f.readline()  # 讀取下一行

datas = []
headers = []

for i in txt_url:
    url_start = "https://club.hihonor.com/cn/forum.php?mod=postaction=replyfid=4515tid="
    url_end = "extra=page%3D1replysubmit=yesinfloat=yeshandlekey=fastpostinajax=1"
    url.append(url_start + i.split("-")[1] + url_end)

這里,博主將一大堆需要評論的鏈接全部放到文本文件之中,然后通過讀取文件獲取每一行鏈接數據(其中用正則表達式判斷鏈接是否合法)。

在通過遍歷鏈接切分獲取帖子標識數字字符串,最后進行拼接獲取到真正的post評論鏈接。

三、隨機提取評論的內容

在眾多的網站蓋樓活動中,官方網站一般都會檢測是否有內容重復,一般同一個賬號多次評論重復的內容,肯定會被禁止評論一段時間。

所以,我們需要將評論的內容多樣化,比如說這個網站要我們稱贊手機性能進行蓋樓抽獎,那么我們就需要備用一些評論文字,方便程序隨機獲取。

具體文字放置在txt文件中,我們通過下面的代碼進行讀取:

# 獲取需要評論的文本內容
txt_contents = []
f = open("回帖文案.txt", "r", encoding='utf-8')
line = f.readline()  # 讀取第一行
while line:
    if line.strip() != "":
        txt_contents.append(line.strip())  # 列表增加
    line = f.readline()  # 讀取下一行
print(txt_contents)
count = len(txt_contents)

假如,我們是需要參加游戲論壇的蓋樓評論活動,那么就可以用下面的文本進行隨機提取評論,樣本越多,重復性越少。

四、蓋樓刷抽獎

一般來說,這種經常有活動的網站都是需要驗證登錄的。而各個網站的驗證碼算法都不相同,怎么自動登錄賬號,往往就非常關鍵了。

對于識別驗證碼,我們要么用百度,騰訊,阿里云提供的文字識別接口,但是博主試過了都無法保證百分百識別成功,而且最高識別準備率都不到50%。

如果需要自己寫機器學習識別算法,那么學過機器學習的都應該知道,這個是需要龐大的標記的,哪怕你真的做出來,恐怕人家網站又會換了驗證方式。

這種驗證碼與防驗證碼一直在進步,花費大量實現標注驗證碼這些內容,往往會浪費大量的時間,到最后人家可能又換了。

所以,博主的建議還是自己手動輸入驗證碼,也就這一步輸入驗證碼手動,其他的全自動。完整代碼如下:

import random
import time
from selenium import webdriver
import requests
import re

# 獲取需要評論的文本內容
txt_contents = []
f = open("回帖文案.txt", "r", encoding='utf-8')
line = f.readline()  # 讀取第一行
while line:
    if line.strip() != "":
        txt_contents.append(line.strip())  # 列表增加
    line = f.readline()  # 讀取下一行
print(txt_contents)
count = len(txt_contents)


# 獲取需要評論的所有網頁鏈接
url_start = "https://club.hihonor.com/cn/forum.php?mod=postaction=replyfid=4515tid="
url_end = "extra=page%3D1replysubmit=yesinfloat=yeshandlekey=fastpostinajax=1"

url = []  # 評論網頁
txt_url = []  # 提供的網頁(格式不同)
f = open("隨機帖子.txt", "r", encoding='utf-8')
line = f.readline()  # 讀取第一行
while line:
    if re.match(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', line):
        txt_url.append(line.strip())  # 列表增加
    line = f.readline()  # 讀取下一行

datas = []
headers = []

for i in txt_url:
    url_start = "https://club.hihonor.com/cn/forum.php?mod=postaction=replyfid=4515tid="
    url_end = "extra=page%3D1replysubmit=yesinfloat=yeshandlekey=fastpostinajax=1"
    url.append(url_start + i.split("-")[1] + url_end)

# 獲取賬號
usernames = []
f = open("賬號.txt", "r", encoding='utf-8')
line = f.readline()  # 讀取第一行
while line:
    usernames.append(line.strip())  # 列表增加
    line = f.readline()  # 讀取下一行

for name in usernames:
    browser = webdriver.Chrome()
    browser.implicitly_wait(10)
    browser.get("https://club.hihonor.com/cn/")
    time.sleep(5)
    login_text = browser.find_element_by_xpath("http://*[@id='loginandreg']/a[1]")
    login_text.click()
    username = browser.find_element_by_xpath(
'/html/body/div[1]/div[2]/div/div/div[1]/div[3]/span/div[1]/span/div[2]/div[2]/div/input')
    password = browser.find_element_by_xpath(
'/html/body/div[1]/div[2]/div/div/div[1]/div[3]/span/div[1]/span/div[3]/div/div/div/input')
    username.send_keys(name)
    password.send_keys("密碼")#所有蓋樓刷評論賬號密碼盡量統一,這樣就可以只在txt每行輸入賬號即可
    sign = browser.find_element_by_xpath(
'/html/body/div[1]/div[2]/div/div/div[1]/div[3]/span/div[1]/span/div[6]/div/div/span/span')
#等待10秒,讓程序運行者輸入驗證碼
    time.sleep(10)
    sign.click()
    time.sleep(2)
    cookie = [item["name"] + "=" + item["value"] for item in browser.get_cookies()]
    cookiestr = ';'.join(item for item in cookie)
    url2 = "https://club.hihonor.com/cn/thread-26183971-1-1.html"
    time.sleep(2)
    browser.get(url2)
    posttime = browser.find_element_by_id("posttime")
    posttime = posttime.get_attribute("value")
    formhash = browser.find_element_by_name("formhash")
    formhash = formhash.get_attribute("value")
    browser.close()
    data = {
        "formhash": formhash,
        "posttime": posttime,
        "usesig": "1",
        "message": txt_contents[0],
    }
    header = {
        "accept": "application/json, text/javascript, */*; q=0.01",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Content-Length": "146",
        "sec-ch-ua": '"Google Chrome";v="87", "\"Not;A\\Brand";v="99", "Chromium";v="87"',
        "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36",
        "Cookie": cookiestr,
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "X-Requested-With": "XMLHttpRequest",
    }
    datas.append(data)
    headers.append(header)

while True:
    z = 0
    if int(time.strftime("%H%M%S")) = 220000:
        url_num = random.sample(range(0, len(url)), len(url))
        for i in url_num:
            j = 1
            for data, header in zip(datas, headers):
                data['message'] = txt_contents[random.randint(0, count - 1)]
                res = requests.post(url=url[i], data=data, headers=header)
                if '回復發布成功' in res.text:
                    print("賬號{0}回復成功".format(j))
                else:
                    print(res.text)
                j += 1
                z += 1
            time.sleep(5)
            print("已經評論{0}條".format(str(z)))

如上面代碼所示,我們的賬號也是用txt文件統一處理的,這樣可以達到多個賬號同時刷的目的,當然一般網站獲獎都不能是同一個IP,這里讀者可以通過代理來處理。

其實登錄后,隨便一個帖子都有posttime與formhash兩個值,只要你隨機打開一個帖子(url2)就可以通過爬蟲知識獲取。

到此這篇關于Python爬蟲之用Xpath獲取關鍵標簽實現自動評論蓋樓抽獎(二)的文章就介紹到這了,更多相關Python實現自動蓋樓抽獎內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python數據XPath使用案例詳解
  • python網絡爬蟲精解之XPath的使用說明
  • python動態網站爬蟲實戰(requests+xpath+demjson+redis)
  • python使用xpath獲取頁面元素的使用
  • Python爬蟲必備之XPath解析庫
  • python數據解析之XPath詳解

標簽:揚州 聊城 六盤水 撫州 迪慶 南寧 楊凌 牡丹江

巨人網絡通訊聲明:本文標題《Python爬蟲之用Xpath獲取關鍵標簽實現自動評論蓋樓抽獎(二)》,本文關鍵詞  Python,爬蟲,之用,Xpath,獲取,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python爬蟲之用Xpath獲取關鍵標簽實現自動評論蓋樓抽獎(二)》相關的同類信息!
  • 本頁收集關于Python爬蟲之用Xpath獲取關鍵標簽實現自動評論蓋樓抽獎(二)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产免费又粗又猛又爽视频国产| 40岁丰满特级A片| 久久国产精品欧美熟妇AV电影 | 日本免费人成在线网站| 偷偷干夜夜拍| 一本色道久久综合狠狠躁| 亚洲国产精品久久综合| 国产大战女模特在线视频| 男生子边做边生h嗯啊| 囯产精品久久久久久久久久小说| 国精品无码一区二区三区在线秋菊| 99国产精品免费视频观看 | 少妇一级婬片免放99久久蜜Av| 性夜a爽黄爽| 全黄H全肉短篇禁乱np下药| 蜜芽亚洲| 尤物视频网址| 国产人妻熟女一区二区AⅤ麻豆| 近親偷子亂伦一区二区三区小说 | 糟蹋下岗人妻身子| 97se色在在线视频| 亚洲性在线观看| 欧美黑人巨大videos极品视频| 久久精品国产清高在天天线| 男男激烈床戏视频大尺度| 国产????XXXXXXBD| 扒开腿| 好大?用力?深一点少妇小说| 他疯狂地嗦我奶头好爽| 各国大肥女bbw| 麻豆传播传媒下载app| 污app下载大全| 91亚色视频在线观看| 亚洲国产精品无码观看欠欠| 禁断介护啪啪无码中文字幕| 成人日韩视频| 国产老头吃嫩草magnet| 国产精品五月天| 老鸭窝一区二区久久久A片| 一边喂奶一边做H| 掀起衣服含着奶头揉捏H漫画视频|