manage double link validation

This commit is contained in:
2024-02-07 14:55:13 +01:00
parent 2449459a08
commit de2059435e
5 changed files with 25 additions and 8 deletions
+1 -1
View File
@@ -105,7 +105,7 @@ class AppointmentRequestSendor(threading.Thread):
self.contact_list = filter_contacts(self.contact_list)
# remove already booked contacts
random.shuffle(self.contact_list)
if len(self.contact_list) > 0 and is_open() and _message_count > 40:
if len(self.contact_list) > 0 and is_open() and _message_count > 100:
captchaResultGetter = CaptchaResultGetter()
print("contact number is {}".format(len(self.contact_list)))
self.contact_list = filter_contacts(self.contact_list)
+5 -5
View File
@@ -7,10 +7,10 @@ from db.mongo_manager import MONGO_STORE_MANAGER
from excel_reader import read_contacts
from models.contact_pojo import ContactPojo
from queue_message.CookiesPublisher import CookiesPublisher, REQUEST_DATA_QUEUE_DE
from queue_message.appointmentrequestsendor import AppointmentRequestSendor
from queue_message.appointmentrequestsendor import AppointmentRequestSendor, REQUEST_DATA_QUEUE
from utiles import is_time_between
from workers.captcha_result_getter import CaptchaResultGetter, HERMES_REGISTER
from workers.proxies_constants import PROXY_LIST_DE
from workers.proxies_constants import PROXY_LIST_DE, PROXY_LIST_FR
from workers.sender import Sender
IPFIY = 'http://api.ipify.org'
@@ -75,11 +75,11 @@ def send_appointment_request(message_queue_name, contacts_file_path):
_cookiesPublisher = CookiesPublisher(queue_name=message_queue_name)
_cookiesPublisher.set_up_connection()
contact_list = read_contacts(contacts_file_path)
receiver = AppointmentRequestSendor(sub_contact_list=contact_list, proxy_to_use_list=PROXY_LIST_DE,
queue_name=REQUEST_DATA_QUEUE_DE,
receiver = AppointmentRequestSendor(sub_contact_list=contact_list, proxy_to_use_list=PROXY_LIST_FR,
queue_name=message_queue_name,
cookiesPublisher=_cookiesPublisher)
receiver.run()
if __name__ == '__main__':
send_appointment_request(REQUEST_DATA_QUEUE_DE, '/Users/lpan/Desktop/08_01_24_valid_de.xlsx')
send_appointment_request(REQUEST_DATA_QUEUE, '/Users/rdv/Desktop/yahoo_aol_valid_26-1.xlsx')
+17
View File
@@ -12,6 +12,8 @@ from queue_message.CookiesPublisher import CookiesPublisher, REQUEST_DATA_QUEUE_
from queue_message.appointmentrequestsendor import QUEUE_HOST, REQUEST_DATA_QUEUE, credentials
from workers.proxies_constants import PROXY_LIST_FR
DOUBLE_MESSAGE = "Une demande de rendez-vous a déjà été enregistrée avec ces coordonnées"
class LinkValidator(threading.Thread):
@@ -77,6 +79,21 @@ class LinkValidator(threading.Thread):
self.cookiesPublisher.publish_body(new_coolies_str)
self.cookie_str = new_coolies_str
return True
elif DOUBLE_MESSAGE in _content:
print(response.url)
MONGO_STORE_MANAGER.link_validated_for_result(response.url, linkPojo, is_duplicated=True)
# set new cookies
_cookies_to_set = response.headers['set-cookie']
self.cookie.load(_cookies_to_set)
new_cookies = {k: v.value for k, v in self.cookie.items()}
new_coolies_str = ""
for key in new_cookies:
new_coolies_str = new_coolies_str + key + "=" + new_cookies[key] + ";"
print("will publish to queue {}".format(new_coolies_str))
# upload the cookie to queue
self.cookiesPublisher.publish_body(new_coolies_str)
self.cookie_str = new_coolies_str
return True
else:
return False
else:
+1 -1
View File
@@ -41,6 +41,6 @@ DE_PROXY_RES = {
# FR_PROXY_MOBILE
# FR_PROXY_RES
# PROXY_LIST = [FR_PROXY_MOBILE, FR_PROXY_RES, DE_PROXY_RES, DE_PROXY_MOBILE, ES_PROXY_MOBILE, IT_PROXY_MOBILE]
PROXY_LIST_FR = [FR_PROXY_MOBILE, FR_PROXY_MOBILE_2, FR_PROXY_RES_2]
PROXY_LIST_FR = [FR_PROXY_MOBILE_2, FR_PROXY_MOBILE, FR_PROXY_RES_2]
# PROXY_LIST = [FR_PROXY_MOBILE, FR_PROXY_RES]
PROXY_LIST_DE = [DE_PROXY_RES, DE_PROXY_MOBILE]
+1 -1
View File
@@ -61,7 +61,7 @@ class Sender:
'Accept-Language': 'fr-FR,fr;q=0.6'}
data = {'check': '', '_csrf': _csrf, 'prefer': '',
'surname': contact.last_name.capitalize(), 'name': contact.first_name.capitalize(),
'phone_country': "FR", 'phone_number': contact.phone, 'email': contact.mail,
'phone_country': "FR", 'phone_number': "+33 " + contact.phone, 'email': contact.mail,
'passport_id': contact.passport, 'processing': 'on', 'cgu': 'on'}
print(data)
try: