欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

wordpress反爬 網(wǎng)站反爬

為什么百度不收錄wordpress頁面?

筆者是wordpress的忠實用戶,之前也做過針對google和yahoo的seo,這些國外主流搜索引擎對wordpress貌似都相當友好。但是筆者做秀萌網(wǎng)博客的時候發(fā)現(xiàn)了問題:百度為什么無論如何都不會收錄我在wordpress里發(fā)表的文章呢?難道是因為外鏈發(fā)的不夠多?如果不收錄我的文章,那何談轉(zhuǎn)載。在筆者經(jīng)過網(wǎng)上查閱資料,分析得出經(jīng)驗和結(jié)論,總結(jié)了本篇文章。百度不收錄wordpress頁面的原因百度不收錄wordpress的頁面其實并不是絕對的,國內(nèi)有很多做的相當不錯的wordpress站,比如筆者很喜歡的谷奧。這些站本身和其他wordpress到底有什么樣的區(qū)別?仔細觀察過一些被收錄很好的網(wǎng)站,發(fā)現(xiàn)它們本身的標簽云并沒有被很好的收錄,文章歸檔頁也大多沒有收錄。再去看這些站點的sitemap,其實并沒有什么特別之處。起初筆者也是越來越迷茫,到底是什么原因?qū)е铝怂鼈兛梢员豁樌珍洠拷?jīng)過多番試驗,答案終于水出石面。總結(jié)下來有以下幾條原因:經(jīng)常改變主題wordpress豐富的主題會讓不少站長挑花了眼,但是兩三天一換主題卻是一個致命傷。不同主題大多文檔結(jié)構(gòu)是不一樣的,如果經(jīng)常改變主題,也就相當于網(wǎng)站經(jīng)常改版。這樣一定會影響收錄情況的,最壞可能會被k站。所以使用wordpress做blog的站長一定要注意,切忌勤換主題。解決方法也很簡單,選擇主題一定一步到位,之后修改主題只需要二次開發(fā)就好了,沒必要大動干戈的時候就盡量少修改。復(fù)雜的標簽云也許有人會問,標簽云不是有利于搜索引擎的嗎?的確,好的標簽云是增加網(wǎng)站內(nèi)部鏈接的很好的選擇。但是過度使用標簽會造成不好的影響。尤其wordpress的標簽功能十分強大,同時也十分復(fù)雜,這就給搜索引擎爬取頁面帶來了難度:爬蟲無法權(quán)衡標簽的權(quán)重。其實標簽并不是分類,如果把標簽當作文檔歸類去使用,那注定你網(wǎng)站的結(jié)構(gòu)不會太好。通常情況,一篇文章打1到3個標簽是正常的,如果標簽太多,反而會讓爬蟲繞暈,不利于收錄。如果掌握不好度,可以將“標簽云”的小插件刪除掉。過慢的反應(yīng)速度和動態(tài)頁面過慢的反應(yīng)速度通常也是網(wǎng)站的硬傷。如果開啟了緩存還好,沒有開啟緩存功能的wordpress站可能需要很高的主機配置。開啟很多插件的wordpress同時會對相應(yīng)速度產(chǎn)生影響。最好的方法,當然是靜態(tài)化url。

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)提供從項目策劃、軟件開發(fā),軟件安全維護、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評估等整套的建站服務(wù),主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站建設(shè),重慶APP開發(fā)以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。成都創(chuàng)新互聯(lián)公司深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

403錯誤怎么解決

一、403 forbidden是什么意思?

403 Forbidden是HTTP協(xié)議中的一個狀態(tài)碼(Status Code)。可以簡單的理解為沒有權(quán)限訪問此站。該狀態(tài)表示服務(wù)器理解了本次請求但是拒絕執(zhí)行該任務(wù),該請求不該重發(fā)給服務(wù)器。在HTTP請求的方法不是“HEAD”,并且服務(wù)器想讓客戶端知道為什么沒有權(quán)限的情況下,服務(wù)器應(yīng)該在返回的信息中描述拒絕的理由。在服務(wù)器不想提供任何反饋信息的情況下,服務(wù)器可以用404 Not Found代替403 Forbidden。

二、403錯誤代碼的分類介紹

403.1

403.1錯誤是由于"執(zhí)行"訪問被禁止而造成的,若試圖從目錄中執(zhí)行CGI、ISAPI或其他可執(zhí)行程序,但該目錄不允許執(zhí)行程序時便會出現(xiàn)此種錯誤。

403.2

403.2錯誤是由于"讀取"訪問被禁止而造成的。導(dǎo)致此錯誤是由于沒有可用的默認網(wǎng)頁并且沒有對目錄啟用目錄瀏覽,或者要顯示的HTML網(wǎng)頁所駐留的目錄僅標記為"可執(zhí)行"或"腳本"權(quán)限。

403.3

403.3錯誤是由于"寫入"訪問被禁止而造成的,當試圖將文件上載到目錄或在目錄中修改文件,但該目錄不允許"寫"訪問時就會出現(xiàn)此種錯誤。

403.4

403.4錯誤是由于要求SSL而造成的,您必須在要查看的網(wǎng)頁的地址中使用"https"。

403.5

403.5錯誤是由于要求使用128位加密算法的Web瀏覽器而造成的,如果您的瀏覽器不支持128位加密算法就會出現(xiàn)這個錯誤,您可以連接微軟網(wǎng)站進行瀏覽器升級。

403.6

403.6錯誤是由于IP地址被拒絕而造成的。如果服務(wù)器中有不能訪問該站點的IP地址列表,并且您使用的IP地址在該列表中時您就會返回這條錯誤信息。

403.7

403.7錯誤是因為要求客戶證書,當需要訪問的資源要求瀏覽器擁有服務(wù)器能夠識別的安全套接字層(SSL) 客戶證書時會返回此種錯誤。

403.8

403.8錯誤是由于禁止站點訪問而造成的,若服務(wù)器中有不能訪問該站點的DNS名稱列表,而您使用的DNS名稱在列表中時就會返回此種信息。請注意區(qū)別403.6與403.8錯誤。

403.9

403.9錯誤是由于連接的用戶過多而造成的,由于Web服務(wù)器很忙,因通訊量過多而無法處理請求時便會返回這條錯誤。

403.10

403.10錯誤是由于無效配置而導(dǎo)致的錯誤,當您試圖從目錄中執(zhí)行CGI、ISAPI或其他可執(zhí)行程序,但該目錄不允許執(zhí)行程序時便會返回這條錯誤。

403.11

403.11錯誤是由于密碼更改而導(dǎo)致無權(quán)查看頁面。

403.12

403.12錯誤是由于映射器拒絕訪問而造成的。若要查看的網(wǎng)頁要求使用有效的客戶證書,而您的客戶證書映射沒有權(quán)限訪問該Web站點時就會返回映射器拒絕訪問的錯誤。

403.13

403.13錯誤是由于需要查看的網(wǎng)頁要求使用有效的客戶證書而使用的客戶證書已經(jīng)被吊銷,或者無法確定證書是否已吊銷造成的。

403.14

403.14錯誤Web 服務(wù)器被配置為不列出此目錄的內(nèi)容,拒絕目錄列表。

403.15

403.15錯誤是由于客戶訪問許可過多而造成的,當服務(wù)器超出其客戶訪問許可限制時會返回此條錯誤。

403.16

403.16錯誤是由于客戶證書不可信或者無效而造成的。

403.17

403.17錯誤是由于客戶證書已經(jīng)到期或者尚未生效而造成的。

三、導(dǎo)致403錯誤的主要原因

1、你的IP被列入黑名單。

2、你在一定時間內(nèi)過多地訪問此網(wǎng)站(一般是用采集程序),被防火墻拒絕訪問了。

3、網(wǎng)站域名解析到了空間,但空間未綁定此域名。

4、你的網(wǎng)頁腳本文件在當前目錄下沒有執(zhí)行權(quán)限。

5、在不允許寫/創(chuàng)建文件的目錄中執(zhí)行了創(chuàng)建/寫文件操作。

6、以http方式訪問需要ssl連接的網(wǎng)址。

7、瀏覽器不支持SSL 128時訪問SSL 128的連接。

8、在身份驗證的過程中輸入了錯誤的密碼。

9、DNS解析錯誤,手動更改DNS服務(wù)器地址。

10、連接的用戶過多,可以過后再試。

11、服務(wù)器繁忙,同一IP地址發(fā)送請求過多,遭到服務(wù)器智能屏蔽。

四、解決403 forbidden錯誤的方法

1、重建dns緩存

對于一些常規(guī)的403 forbidden錯誤,馬海祥建議大家首先要嘗試的就是重建dns緩存,在運行中輸入cmd,然后輸入ipconfig /flushdns即可。如果不行的話,就需要在hosts文件里把主頁解析一下了。

2、修改文件夾安全屬性

用以下命令修改文件夾安全屬性

chcon -R -t httpd_user_content_t public_html/

所用命令解析:

ls -Z -d public_html/

#顯示文件/目錄的安全語境-Z, --context

Display security context so it fits on most displays. Displays only mode, user, group, security context and file name.-d, --directory

list directory entries instead of contents, and do not dereference symbolic links

chcon -R -t httpd_user_content_t public_html/

#修改文件/目錄的安全語境-R, --recursive

change files and directories recursively-t, --type

set type TYPE in the target security context

3、關(guān)于apache導(dǎo)致的403 forbidden錯誤的解決辦法

打開apache的配置文件httpd.conf,找到這段代碼:

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

有時候由于配置了php后,這里的“Deny from all”已經(jīng)拒絕了一切連接。把該行改成“allow from all”,修改后的代碼如下,問題解決。

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

之所以會出現(xiàn)錯誤,是因為大多數(shù)的國外主機在配置Apache的時候啟用了mod_security,也就是開啟了安全檢查,如果提交的信息中包含select , % , bin等關(guān)鍵字,Apache就會禁止,并給出403,404,500等錯誤。

4、關(guān)于HawkHost空間出現(xiàn)403 Forbidden錯誤的解決方法

有的時候在共享服務(wù)器上安裝了Mod security,當網(wǎng)址包含有“%”號等其它敏感字符時,就會被Mod security阻止,馬海祥博客曾經(jīng)也出現(xiàn)過此情況。

解決HawkHost 403 Forbidden 錯誤的方法:

在.htaccess文件里添加如下代碼:

SecFilterEngine Off

SecFilterScanPOST Off

直接放在網(wǎng)站的根目錄或者程序運行的目錄下。

5、關(guān)于WordPress導(dǎo)致的403 Forbidden錯誤解決方法

對于一些使用WordPress管理程序搭建的博客來說,就需要修改.htaccess文件,在后面添加上如下內(nèi)容即可,其實就是disable mod_security

SecFilterEngine Off

SecFilterScanPOST Off

另外dedecms的可能還需要再加一條,以讓默認訪問的是index.html文件的DirectoryIndex index.html。

修改.htaccess文件,將文件上傳之后,再重新打開之前出現(xiàn)403 Forbidden的URL就沒有再出現(xiàn)錯誤,直接可以打開了。

如何給wordpress做搜索引擎優(yōu)化

1、在做SEO的時候首先通過Google網(wǎng)站管理員工具提交Sitemap,它可以使網(wǎng)站內(nèi)容完全被收錄,當然包括那些隱藏比較深的頁面。

2、優(yōu)化 title 頁標題,不要把 Blog 名稱顯示在文章標題的前面,因為在搜索結(jié)果中,頁標題會高亮顯示,把 Blog 名稱放在前面,會導(dǎo)致因為長度過長而被隱藏,同時不利于訪問者在第一時間關(guān)注到文章本身的標題。

3、從SEO的角度來講robots.txt文件是一定要設(shè)置的,這是因為:采用robots.txt文件可以屏蔽掉次要的、URL重寫優(yōu)化前的鏈接,以及屏蔽一些沒有關(guān)鍵詞的頁面。robots.txt 文件必須放在網(wǎng)站的根目錄,能通過 /robots.txt 可以成功訪問到,則說明本站的放置正確。如 robots.txt 文件放在子目錄,那么搜索引擎不能爬取到,也就不會起任何作用。

4、需要大量的反向鏈接,因為大量的鏈接指向Blog 可以提高 PageRank,并且能讓 Blog 在搜索引結(jié)果中更靠前。

5、搜索引擎非常喜歡原創(chuàng)文章。如果在搜索結(jié)果中,文章排在第三頁后,那么也不會給 Blog 帶來多少實質(zhì)的影響了。文章內(nèi)容必須簡潔有力,不要長篇大論。

6、垃圾留言會影響 Blog 在搜索引擎中的表現(xiàn)。需要安裝一個自動過濾垃圾留言評論的的插件,推薦使用 Akismet。

7、堅持每天更新。

搶票代碼原理

1

為什么會實行搶票機制?

?

其他所謂的搶票,根本原理就是幫你時時刻刻盯著12306而已。無論哪一家的搶票,最終都是要通過.

2

有人知道搶票軟件的原理是什么嗎?

“購票者提供個人信息,將被上傳至服務(wù)器數(shù)據(jù)庫。 一旦檢測到余票就迅速鎖定,并通過高速填寫乘車人信息和自動識別驗證碼來搶票

3

12306是搶票原理分析 - 多線程之間實現(xiàn)同步 - evanYang - 的博客...

2020年5月3日程序執(zhí)行的順序按照代碼的先后順序執(zhí)行。 一般來說處理器為了提高程序運行效率

4

python自動搶票的原理

python自動搶票的原理_利用Python代碼自動搶火車票的原理以及代碼解析

weixin_39890629

原創(chuàng)

關(guān)注

1點贊·1024人閱讀

今年你不妨自己寫一段代碼來搶回家的火車票,是不是很Cool。

準備工具:

12306網(wǎng)站用戶名和密碼

chrome瀏覽器及下載chromedriver

下載Python代碼

代碼用的Python+Splinter開發(fā),Splinter是一個使用Python開發(fā)的開源Web應(yīng)用測試工具,它可以幫你實現(xiàn)自動瀏覽站點和與其進行交互。Splinter執(zhí)行的時候會自動打開你指定的瀏覽器,訪問指定的URL。然后你所開發(fā)的模擬的任何行為,都會自動完成,你只需要坐在電腦面前,像看電影一樣看著屏幕上各種動作自動完成然后收集結(jié)果即可。

了解原理:

找到相應(yīng)URL,找到控件模擬登錄、查詢、訂票操作。關(guān)鍵是找到控件名稱,難點是起始地不是直接輸入的頁面值,需要在cookie中查出。

12306查詢URL:

12306登錄URL:

我的12306URL:

購票確認URL:

Python代碼打開URL,找到控件填充值:

找到用戶名密碼控件名

找到起始地控件名

確定起始地的值,方法Chrome瀏覽器中的“檢查”功能(按F12),Network---Cookies中找到:

cookie中起始地的值

拷貝起始地的cookie值,我把幾個常用的城市拷出來,放到了字典中:

查詢車票代碼:

其實,你只需要運行代碼:

當然,還需要手動點一下的還是萬惡的12306驗證碼,搶到票后確認支付就行啦。

搶票進行中

搶票成功!

5

登錄

首頁

學(xué)習(xí)

實踐

活動

專區(qū)

工具

TVP

返回騰訊云官網(wǎng)

阿黎逸陽

111 篇文章

關(guān)注

100行代碼自動買火車票——和你一起探索搶票軟件背后的原理

2021-10-08 15:32:42閱讀 6940

大家有沒有這種感覺,一到國慶、春節(jié)這種長假,搶火車票就非常困難?

各大互聯(lián)網(wǎng)公司都推出搶票服務(wù),只要加錢給服務(wù)費就可以增加搶到票的幾率。

有些火車票代售網(wǎng)點和一些加速買票軟件,說你只要給100元服務(wù)費就可以優(yōu)先幫忙搶到票。

本文和你一起探索搶票軟件背后的原理。

本文目錄

效果展示

代碼詳解

2.1 導(dǎo)入庫

2.2 確定好基本購票信息

2.3 登錄12306

2.4 模擬滑動滑塊

2.5 處理疫情特殊要求

2.6 點擊購票并填寫相關(guān)信息

2.7 鎖定車票

一、效果展示

在正式進入代碼講解之前,先來看下本文的實現(xiàn)效果。

如果不是為了演示效果,直接在最后確定階段加一個延時點擊確定,應(yīng)該不到45秒可以鎖定一張票,只要在30分鐘之內(nèi)付款即可。

二、代碼詳解

本小節(jié)會詳細解鎖搶票軟件是如何模擬登錄網(wǎng)站,進行自動買票的。

為了更清晰地給大家展示,部分代碼沒有寫成函數(shù),直接裸代碼運行,讓需要買票的朋友可以自己應(yīng)用軟件進行購票。

1 導(dǎo)入庫

首先導(dǎo)入本文需要加載的庫,如果你有些庫還沒有安裝,導(dǎo)致運行代碼時報錯,可以在Anaconda Prompt中用pip方法安裝。

import json

import time

from captcha import *

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support import wait

from selenium.webdriver.common.keys import Keys

from selenium.common.exceptions import NoSuchElementException

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support import expected_conditions as EC

#導(dǎo)入庫

復(fù)制

2 確定好購票基本信息

導(dǎo)入庫后,在python代碼中填寫你購票的基本信息。

purpose = 'ADULT' #購買成人票,如果是學(xué)生票,需調(diào)整代碼

names = ['謝朝陽'] #填寫購票人姓名

date = '2021-09-21' #填寫購票日期

start_station = '深圳' #購票出發(fā)站

end_station = '長沙南' #購票目的站

password = '11234567xyz' #登錄12306的秘密

username ='xiezhaoyang122700' #登錄12306的賬號

trains = ['G1004', 'G80', 'G6028', 'G6182', 'G6016'] #你想買的班次

#填寫基本信息

復(fù)制

本文預(yù)訂的是2021年9月21日從深圳到長沙南的高鐵票,你可以根據(jù)自己的實際需要進行調(diào)整。

由于有些班次的時間過早或過晚,買了也很不方便,所以可以在trains中挑選出你滿意的班次進行購票。

在這里需要提醒大家,我之前在嘗試代碼時碰到的坑,那就是時間中如果有個位數(shù)要在前面填0。

比如2021年9月2日,你在填寫購票日期date時要寫成'2021-09-02',否則在運行代碼時日期總是填不進去。

3 登錄12306

確定好購票的基本信息后,就可以應(yīng)用python模擬登錄12306了,代碼如下:

options = webdriver.ChromeOptions()

options.add_argument("--disable-blink-features=AutomationControlled")

browser = webdriver.Chrome(options=options)

browser.maximize_window()

login_url = ''

#ticket_url = ''

browser.get(login_url)

time.sleep(0.5)

wait.WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.CLASS_NAME,'login-hd-account'))).click()

input_name = browser.find_element_by_id('J-userName')

input_pd = browser.find_element_by_id('J-password')

input_name.send_keys(username)

input_pd.send_keys(password)

login = browser.find_element_by_id('J-login')

login.click()

#登錄12306

復(fù)制

整體思路是:

應(yīng)用python模擬調(diào)用google瀏覽器;

輸入12306網(wǎng)址;

等網(wǎng)頁加載完全后點擊賬戶密碼登錄;

找到賬號密碼的id,把賬戶密碼信息填充進去;

找到登錄id,模擬點擊登錄按鈕。

在這一小節(jié)中要注意兩個點。一是要在python安裝目錄中放和google版本匹配的chromedriver,供python調(diào)用。

二是要學(xué)會找填寫賬戶密碼信息的id。

首先,在google瀏覽器中輸入12306登錄網(wǎng)址:。

接著點擊賬戶密碼登錄,會出現(xiàn)如下界面。

然后點擊紅框中的三個點,找到更多工具,點擊開發(fā)者工具,會出現(xiàn)如下界面。

點擊紅框中的箭頭,把鼠標移動到賬戶框上去,就會出現(xiàn)如下界面:

undefined

右邊變灰的框里就會出現(xiàn)對應(yīng)的id,點擊賬號框,再把鼠標移動到右邊變灰的字符上去,點擊右鍵,會出現(xiàn)copy element的選項,復(fù)制下來即可。

input type="text" class="input" id="J-userName" placeholder="用戶名/郵箱/手機號" style="height: 44px; line-height: 44px; outline: black 0px;" aria-label="請輸入用戶名/郵箱/手機號" title="請輸入用戶名/郵箱/手機號"

復(fù)制

發(fā)現(xiàn)了嗎?源代碼input_name中要填寫的browser.find_element_by_id('J-userName')內(nèi)容,即為id="J-userName"中的信息。

4 模擬滑動滑塊

輸入完用戶名和密碼,點擊立即登錄后,會出現(xiàn)如下滑塊驗證要求。

運行如下代碼即可拖動滑塊進行驗證。

browser.implicitly_wait(5)

print('=====開始處理滑動驗證碼=====')

track = [300, 400, 500]

for i in track:

try:

btn = browser.find_element_by_xpath('//*[@id="nc_1__scale_text"]/span')

ActionChains(browser).drag_and_drop_by_offset(btn,i,0).perform()

except:

time.sleep(2)

#拉動滑塊驗證

復(fù)制

其中,browser.implicitly_wait(5)表示隱性等待5秒,track中放的是滑塊拉動的距離。

5 處理疫情特殊要求

完成滑塊驗證要求后,會出現(xiàn)如下疫情特殊要求提示:

用如下代碼點擊確認即可。

browser.implicitly_wait(5)

browser.find_element_by_xpath('/html/body/div[5]/div[2]/div[3]/a').click()

time.sleep(2)

#疫情特殊要求

復(fù)制

browser.find_element_by_xpath和id的區(qū)別是,在右鍵復(fù)制時要copy XPath或copy full XPath。

6 點擊購票并填寫出發(fā)地、目的地、出發(fā)時間

接下來是選擇買票,并將出發(fā)地、目的地、出發(fā)時間等信息填寫進去。

browser.find_element_by_xpath('//*[@id="J-chepiao"]/a').click()

browser.find_element_by_xpath('//*[@id="megamenu-3"]/div[1]/ul/li[1]/a').click()

browser.find_element_by_xpath('//*[@id="qd_closeDefaultWarningWindowDialog_id"]').click()

#選擇買票

def input_info():

print('=====開始買票=====')

from_station = browser.find_element_by_xpath('//*[@id="fromStationText"]')

from_station.send_keys(Keys.ENTER)

from_station.send_keys(Keys.CONTROL, 'a')

from_station.send_keys(start_station, Keys.ENTER)

browser.implicitly_wait(5)

to_station = browser.find_element_by_xpath('//*[@id="toStationText"]')

to_station.send_keys(Keys.ENTER)

to_station.send_keys(Keys.CONTROL, 'a')

to_station.send_keys(end_station, Keys.ENTER)

browser.implicitly_wait(5)

start_date = browser.find_element_by_xpath('//*[@id="train_date"]')

start_date.send_keys(Keys.ENTER)

start_date.send_keys(Keys.CONTROL, 'a')

start_date.send_keys(Keys.CONTROL, 'x')

start_date.send_keys(date, Keys.ENTER)

browser.implicitly_wait(5)

wait.WebDriverWait(browser, 3).until(EC.element_to_be_clickable((By.ID,'query_ticket'))).click()

input_info()

input_info()

#將出發(fā)地、目的地、出發(fā)日期填進去

復(fù)制

得到結(jié)果如下:

這里需要注意的是我調(diào)用了兩遍input_info函數(shù),因為12306可能采取了一些反爬措施,一遍輸入進去后查不出東西,顯示為灰色。

7 鎖定車票

最后是依次查找trains中的車次是否有票,有的話點擊購買鎖定車票。

trList = browser.find_elements_by_xpath(".//tbody[@id='queryLeftTable']/tr[not(@datatran)]")

for tr in trList:

trainNum = tr.find_element_by_class_name("number").text

if trainNum in trains:

leftTicket = tr.find_element_by_xpath(".//td[4]").text

print('leftTicket', leftTicket)

if leftTicket == '有' or leftTicket.isdigit():

orderBtn = tr.find_element_by_class_name("btn72")

orderBtn.click()

browser.implicitly_wait(5)

passengerLabels = browser.find_elements_by_xpath(".//ul[@id='normal_passenger_id']/li/label")

for passengerLabel in passengerLabels:

name = passengerLabel.text

if name in names:

passengerLabel.click()

browser.implicitly_wait(20)

# 獲取提交按鈕

submitBtn = browser.find_element_by_id("submitOrder_id")

submitBtn.click()

browser.implicitly_wait(20)

confirmBtn = browser.find_element_by_id("qr_submit_id")

confirmBtn.click()

time.sleep(2)

browser.implicitly_wait(20)

confirmBtn = browser.find_element_by_id("qr_submit_id")

confirmBtn.click()

break

#依次查找trains中的車次是否有票,有的話點擊購買

復(fù)制

所以,如果你有特別心儀的車次,可以在trains中放在最前面,依次填寫覺得還行的車次。

至此,應(yīng)用python解鎖搶票軟件背后的原理已講解完畢,感興趣的朋友可以自己跟著本文實現(xiàn)一遍。

12306不定期會更新買票界面,所以過一段時間可能之前的代碼就要進行一些調(diào)整,需要自己弄清里面的原理,才可以以不變應(yīng)萬變。

本文的代碼沒有進行高級的封裝,只為大家能更清楚地了解每一步,能在搶票高峰期買到自己心儀的票。

也寫得很基礎(chǔ),沒有進一步的調(diào)優(yōu)縮短時效,感興趣的朋友可以自行研究,如有任何疑問可以跟我溝通。

6

搶票軟件原理 - Python實戰(zhàn)案例教學(xué)(視頻講解) 12306...

?

2020年12月7日python有很多方法去實現(xiàn)搶票,其基本原理,就是讓程序自動模擬人去操作12306網(wǎng)站

7

為什么會實行搶票機制?

?

其他所謂的搶票,根本原理就是幫你時時刻刻盯著12306而已。無論哪一家的搶票,最終都是要通過.

分享標題:wordpress反爬 網(wǎng)站反爬
本文地址:http://www.chinadenli.net/article10/ddoiego.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)標簽優(yōu)化電子商務(wù)用戶體驗云服務(wù)器軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)