سلام دوستان گرامی ...
من یه سورس پایتون مینویسم برای چک یه چند تا چیز...
نیاز دارم آخرین آدرسی که سایت به اون منتقل میشه رو به دست بیارم....
حالا انتقال با متاتگ رفرش باشه یا جاوا اسکریپت....
برای روشن شدن موضوع مثال میزنم
این سایت رو که باز کنید انتقال میابه به این
البته این با متاتگ ریفرش منتقل شده... ممکنه با جاوا اسکریپت هم منتقل بشن... هیچ تضمینی وجود نداره...
حالا من میخوام این ادرسو به دست بیارم و بتونم مثلا با پایتون پرینتش کنم....
ماژول requests فقط میتونه ریدایرکت از htaccess رو شناسایی کنه مثل ریدایرکت 301...
راهکاری دارید؟
ممنون
وب درایور یدونه پراپرتی داره به اسم currenturl که میتونین آدرس صفحه فعلی که لود شده رو بگیرین
driver.current_url
https://selenium-python.readthedocs.io/api.html
این سوال توی استک اور فلو مشابه سوال شماست
https://stackoverflow.com/questions/24391452/how-to-capture-js-redirects-in-selenium
برای اینکه توی پس زمینه اجرا بشه هم
option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome('path/to/chromedriver',options=option)
میتونین درباره headless browser جستجو کنین
یک کار دیگه هم که میتونین استفاده کنین، برنامه نویسی اندروید و استفاده از webView هست.
ریدایرکت های جاوااسکریپت یا این مثالی که گفتین رو براش شما باید بیاین باید جاوااسکریپت رو اجرا کنین که ماژول requestsاین کار رو انجام نمیده
یا بیاین و سورس صفحه رو parse کنین و لینک رو استخراج کنین
یا بیاین جاوااسکریپت رو اجرا کنین که میتونین از سلنیوم استفاده کنین
لینک زیر هم میتونه درباره اجرای جاوااسکریپت در پایتون مفید باشه
https://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/
متاسفانه اصلا حالت ثابتی نداره که parse منطقی باشه!
سلنیوم منطقی تره ولی متوجه نشدم باید چجوری پیش برم دقیقا!
و اینکه نمیشه کلا سایت رو توی بکگراند اجرا کرد ولی به صورتی که مطالب خارجی لود نشن؟ البته بدون متوجه شدن کاربر بعد ادرس رو از اون گرفت؟!
وب درایور یدونه پراپرتی داره به اسم currenturl که میتونین آدرس صفحه فعلی که لود شده رو بگیرین
driver.current_url
https://selenium-python.readthedocs.io/api.html
این سوال توی استک اور فلو مشابه سوال شماست
https://stackoverflow.com/questions/24391452/how-to-capture-js-redirects-in-selenium
برای اینکه توی پس زمینه اجرا بشه هم
option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome('path/to/chromedriver',options=option)
میتونین درباره headless browser جستجو کنین
یک کار دیگه هم که میتونین استفاده کنین، برنامه نویسی اندروید و استفاده از webView هست.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟