मैंने बाद में दो 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यदि यात्री बच्चों को शामिल करते हैं तो यह एक अलग प्रारूप में भी हो सकता है।
