日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用selenium实现百度贴吧自动发帖

發布時間:2023/12/18 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用selenium实现百度贴吧自动发帖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫完前面兩篇以后,就打算寫個百度貼吧自動發帖程序,結果研究了好久,發現比預想的難太多了。。。
一開始打算用requests模擬登陸,用F12抓了包,看post請求參數:


參數也特么太多了,簡直喪心病狂,變化參數有token、tt、gid、rsakey、ppui_logintime、fp_uid、fp_info、dv、traceid、callback一共10個,token、tt、rsakey之類的還好說,獲取方式比較明顯,但是fp_uid、fp_info、dv這三個研究了好久也搞不定,很明顯是js里生成的,然而我最頭疼的就是看上千行的js代碼,太痛苦了。。。
研究了幾天最終放棄,換個方案,手動登錄獲取cookies,然后直接在程序里寫死了cookies來發帖。F12抓個發帖的包,請求參數:

mouse_pwd、BSK。。。這都是什么鬼,實在不想再看js了,再次放棄。
沒辦法了,只有祭出大招了:selenium,下面上代碼
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://passport.baidu.com/v2/?login')
time.sleep(2)
driver.find_element_by_id("TANGRAMPSP_3__footerULoginBtn").click()
driver.find_element_by_name("userName").clear()
driver.find_element_by_name("userName").send_keys('用戶名')
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys('密碼')
time.sleep(2)
#手動輸入驗證碼
driver.find_element_by_id("TANGRAM
PSP_3__submit").click()
time.sleep(25)
driver.get('https://tieba.baidu.com/f?kw=貼吧名&fr=index')
time.sleep(6)
driver.find_element_by_name("title").send_keys('發帖標題')
driver.find_element_by_id("ueditor_replace").send_keys('發帖內容')
time.sleep(2)
driver.find_element_by_xpath('//*[@id="tb_rich_poster"]/div[3]/div[5]/div/button[1]').click()

其中time.sleep(25)那里,是因為有可能需要短信驗證碼,所以預留的時間長一點。另外就是打開貼吧的url以后也需要sleep時間長一點,否則帖子標題那里會寫不全。
因為是剛接觸selenium,還有很多地方沒有研究明白,但是這玩意功能是真強大~

轉載于:https://blog.51cto.com/13904513/2159452

總結

以上是生活随笔為你收集整理的用selenium实现百度贴吧自动发帖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。