मैंने बाद में दो https अनुरोध भेजकर html तत्वों को लक्ष्य पृष्ठ से प्राप्त करने के लिए एक स्क्रिप्ट बनाई है। मेरी पटकथा बात को त्रुटिपूर्ण रूप से कर सकती है। हालांकि, मुझे payload
लक्ष्य पृष्ठ तक पहुंचने के लिए अंतिम http अनुरोध भेजने के लिए चार देवता से क्रोम देव उपकरण से चार मूल्यों को कॉपी करना था । यह शुरुआती लिंक है और निम्नलिखित विवरण है कि मैं लक्ष्य पृष्ठ तक कैसे पहुंच सकता हूं।
Find Hotel
बटन पर क्लिक करें (यदिchek-out
दिनांक डिफ़ॉल्ट रूप सेcheck-in
दिनांक से कम से कम एक दिन अधिक है तो तिथियों को बदलने की आवश्यकता नहीं है )।- नीचे दिए गए चित्र की तरह बॉक्स को टिक करें और उसके
Book Now
ठीक ऊपर बटन दबाएं । अब, यह आपको स्वचालित रूप से लक्ष्य पृष्ठ पर ले जाना चाहिए। - शीर्षक वाले लक्ष्य पृष्ठ पर पहुंचने पर
Enter Guest Details
, html तत्वों को वहां से पार्स करें
मैंने साथ काम करने की कोशिश की है:
import requests
from bs4 import BeautifulSoup
url = 'https://booking.discoverqatar.qa/SearchHandler.aspx?'
second_url = 'https://booking.discoverqatar.qa/PassengerDetails.aspx?'
params = {
'Module':'H','txtCity':'','hdnCity':'2947','txtHotel':'','hdnHotel':'',
'fromDate':'05/11/2019','toDate':'07/11/2019','selZone':'','minSelPrice':'',
'maxSelPrice':'','roomConfiguration':'2|0|','noOfRooms':'1',
'hotelStandardArray':'63,60,54,50,52,51','CallFrom':'','DllNationality':'-1',
'HdnNoOfRooms':'-1','SourceXid':'MTEzNzg=','mdx':''
}
payload = {
'CallFrom':'MToxNjozOCBQTXxCMkN8MToxNjozOCBQTQ==',
'Btype':'MToxNjozOCBQTXxBfDE6MTY6MzggUE0=',
'PaxConfig':'MToxNjozOCBQTXwyfDB8MnwwfHwxOjE2OjM4IFBN',
'usid':'MToxNjozOCBQTXxoZW54dmkzcWVnc3J3cXpld2lsa2ZwMm18MToxNjozOCBQTQ=='
}
with requests.Session() as s:
r = s.get(url,params=params,headers={"User-agent":"Mozilla/5.0"})
res = s.get(second_url,params=payload,headers={
"User-agent":"Mozilla/5.0",
"Referer":r.url
})
soup = BeautifulSoup(res.text,'lxml')
print(soup)
ऊपर स्क्रिप्ट में मैं नकल की और का मूल्य चिपकाया है CallFrom
, Btype
, PaxConfig
और usid
के भीतर उपयोग के लिए देव से उपकरण payload
।
मैं पेलोड के भीतर उपयोग किए जाने वाले स्वचालित रूप से मूल्यों को कैसे भर सकता हूं?
Btype
पहले चरण से चुने गए विकल्पों के अनुरूप एक गतिशील मूल्य हो सकता है। PaxConfig
यदि यात्री बच्चों को शामिल करते हैं तो यह एक अलग प्रारूप में भी हो सकता है।