日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

定時(shí)微博咋發(fā) 定時(shí)微博怎么發(fā)( 二 )


三、完整代碼實(shí)現(xiàn)思路: 其實(shí)和平時(shí)我們正常操作一樣 , 只不過這里,全程由selenium來實(shí)現(xiàn),模擬點(diǎn)擊和輸入,所以整個(gè)過程為:打開登錄頁面->輸入賬號(hào)密碼->點(diǎn)擊登錄按鈕->在發(fā)微博框輸入發(fā)送內(nèi)容->點(diǎn)擊發(fā)送按鈕->關(guān)閉瀏覽器(自?。?。
3.1 目前自動(dòng)輸入賬號(hào)可能會(huì)彈出登錄保護(hù)需掃二維碼驗(yàn)證from selenium import webdriverfrom selenium.webdriver.chrome.service import Serviceimport time'''自動(dòng)發(fā)布微博content:發(fā)送內(nèi)容username:微博賬號(hào)password:微博密碼'''def post_weibo(content, username, password):# 加載谷歌瀏覽器驅(qū)動(dòng)path = r'C:/MyEnv/chromedriver.exe '# 指定驅(qū)動(dòng)存放目錄ser = Service(path)chrome_options = webdriver.ChromeOptions()# 把允許提示這個(gè)彈窗關(guān)閉prefs = {"profile.default_content_setting_values.notifications": 2}chrome_options.add_experimental_option("prefs", prefs)driver = webdriver.Chrome(service=ser, options=chrome_options)driver.maximize_window()# 設(shè)置頁面最大化,避免元素被隱藏print('# get打開微博主頁')url = 'http://weibo.com/login.php'driver.get(url)# get打開微博主頁time.sleep(5)# 頁面加載完全print('找到用戶名 密碼輸入框')input_account = driver.find_element_by_id('loginname')# 找到用戶名輸入框input_psw = driver.find_element_by_css_selector('input[type="password"]')# 找到密碼輸入框# 輸入用戶名和密碼input_account.send_keys(username)input_psw.send_keys(password)print('# 找到登錄按鈕 //div[@node-type="normal_form"]//div[@class="info_list login_btn"]/a')bt_logoin = driver.find_element_by_xpath('//div[@node-type="normal_form"]//div[@class="info_list login_btn"]/a')# 找到登錄按鈕bt_logoin.click()# 點(diǎn)擊登錄# 等待頁面加載完畢#有的可能需要登錄保護(hù),需掃碼確認(rèn)下time.sleep(40)# 登錄后 默認(rèn)到首頁,有微博發(fā)送框print('# 找到文本輸入框 輸入內(nèi)容 //*[@id="homeWrap"]/div[1]/div/div[1]/div/textarea')weibo_content = driver.find_element_by_xpath('//*[@id="homeWrap"]/div[1]/div/div[1]/div/textarea')weibo_content.send_keys(content)print('# 點(diǎn)擊發(fā)送按鈕 //*[@id="homeWrap"]/div[1]/div/div[4]/div/button')bt_push = driver.find_element_by_xpath('//*[@id="homeWrap"]/div[1]/div/div[4]/div/button')bt_push.click()# 點(diǎn)擊發(fā)布time.sleep(15)driver.close()# 關(guān)閉瀏覽器if __name__ == '__main__':username = '微博用戶名'password = "微博密碼"# 自動(dòng)發(fā)微博content = '每天進(jìn)步一點(diǎn)'post_weibo(content, username, password)復(fù)制代碼

定時(shí)微博咋發(fā) 定時(shí)微博怎么發(fā)


通過cookie進(jìn)行登錄可跳過掃碼登錄 , cookie過期后重新獲取下cookie就可以了 。導(dǎo)入第三方包from selenium import webdriverfrom selenium.webdriver.chrome.service import Serviceimport timeimport requestsimport json復(fù)制代碼獲取cookie到本地這里主要利用了selenium的get_cookies函數(shù)獲取cookies 。
# 獲取cookies 到本地def get_cookies(driver):driver.get('https://weibo.com/login.php')time.sleep(20) # 留時(shí)間進(jìn)行掃碼Cookies = driver.get_cookies() # 獲取list的cookiesjsCookies = json.dumps(Cookies) # 轉(zhuǎn)換成字符串保存with open('cookies.txt', 'w') as f:f.write(jsCookies)print('cookies已重新寫入!')# 讀取本地的cookiesdef read_cookies():with open('cookies.txt', 'r', encoding='utf8') as f:Cookies = json.loads(f.read())cookies = []for cookie in Cookies:cookie_dict = {'domain': '.weibo.com','name': cookie.get('name'),'value': cookie.get('value'),'expires': '','path': '/','httpOnly': False,'HostOnly': False,'Secure': False}cookies.append(cookie_dict)return cookies復(fù)制代碼

推薦閱讀