use firefox to load page
This commit is contained in:
@@ -51,7 +51,7 @@ def recheck_the_captcha_error_contacts(on_no_contact_found, store_type=0, mode:
|
||||
proxy = get_proxy()
|
||||
# start the task in thread
|
||||
executor.submit(
|
||||
CommandorPage(contact, store_type=store_type, mode=mode, headless= headless).start_page,
|
||||
CommandorPage(contact, store_type=store_type, mode=mode, headless=headless).start_page,
|
||||
proxy)
|
||||
|
||||
|
||||
@@ -61,7 +61,8 @@ def get_proxy(proxy_type=ProxyType.BRIGHT_DATA):
|
||||
|
||||
if __name__ == '__main__':
|
||||
# 修改联系人行,结束联系人行 第三个参数store等于0的时候是随机,传入1的时候是总店
|
||||
# start_book(744, 858, store_choose_state=1, mode=ModeEnum.AUTOMATIC, headless=False)
|
||||
start_book(744, 1264, store_choose_state=1, mode=ModeEnum.AUTOMATIC, headless=True)
|
||||
start_book(1265, 1352, store_choose_state=1, mode=ModeEnum.AUTOMATIC, headless=True)
|
||||
recheck_the_captcha_error_contacts(store_type=1, mode=ModeEnum.AUTOMATIC, on_no_contact_found=lambda: None, headless=True)
|
||||
# start_book(1, 10, store_choose_state=1, mode=ModeEnum.AUTOMATIC, headless=False)
|
||||
# start_book(828, 857, store_choose_state=1, mode=ModeEnum.AUTOMATIC, headless=True)
|
||||
start_book(300, 301, store_choose_state=1, mode=ModeEnum.AUTOMATIC, headless=False, max_workers=15)
|
||||
# recheck_the_captcha_error_contacts(store_type=1, mode=ModeEnum.AUTOMATIC, on_no_contact_found=lambda: None,
|
||||
# headless=True)
|
||||
|
||||
+3032
-1
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ import xlsxwriter
|
||||
from src.config import CONTACT_LIST_FILE
|
||||
from src.db.mongo_manager import MONGO_STORE_MANAGER
|
||||
from src.pojo.contact_pojo import ContactPojo
|
||||
from src.pojo.mail.mail_pojo import MailAddress, MailPojo
|
||||
from src.pojo.mail.mail_pojo import MailAddress
|
||||
from src.utils.generate_random_passport_id import get_random_passport_id_number
|
||||
|
||||
phone_number_prefix = ['6']
|
||||
@@ -24,6 +24,19 @@ class ExcelHelper:
|
||||
self._df = pandas.concat([self._df, new_df])
|
||||
self._df.to_excel(file_name)
|
||||
|
||||
def read_user_agens(self) -> list:
|
||||
user_agent_in_json = pandas.read_excel(
|
||||
"/Users/lpan/Documents/workspace/appointment_tool/docs/mobile_user_agent_list.xlsx").to_json(
|
||||
orient='records')
|
||||
user_agent_dict_list = json.loads(user_agent_in_json)
|
||||
user_agent_list = []
|
||||
for user_agent_dict in user_agent_dict_list:
|
||||
user_agent_str = user_agent_dict['user_agent']
|
||||
if 'Android' in user_agent_str:
|
||||
if 'Mac OS' not in user_agent_str:
|
||||
user_agent_list.append(user_agent_dict['user_agent'])
|
||||
print(user_agent_list)
|
||||
|
||||
def read_contacts(self, file_name=CONTACT_LIST_FILE) -> list:
|
||||
contact_list_in_json = pandas.read_excel(file_name).to_json(orient='records')
|
||||
contact_dict_list = json.loads(contact_list_in_json)
|
||||
@@ -198,12 +211,13 @@ def save_mails_to_db():
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# excel_reader = ExcelHelper()
|
||||
excel_reader = ExcelHelper()
|
||||
excel_reader.read_user_agens()
|
||||
# contacts = excel_reader.read_names("/Users/lpan/Documents/rdv/backup_500.xlsx")
|
||||
# print(contacts)
|
||||
# write_new_contacts_to_excel(valid_contacts=contacts)
|
||||
|
||||
save_mails_to_db()
|
||||
# save_mails_to_db()
|
||||
# for mail in excel_reader.read_mails_and_pwd():
|
||||
# MONGO_STORE_MANAGER.insert_email(mail)
|
||||
# for i in range(1, 64):
|
||||
|
||||
@@ -119,10 +119,11 @@ class CommandorPage:
|
||||
|
||||
def start_browser(self, proxy, pwright, device) -> Union[str, None]:
|
||||
try:
|
||||
self.browser = pwright.webkit.launch(headless=self.headless, timeout=PAGE_TIMEOUT, proxy=proxy)
|
||||
self.logger.info("模拟设备: " + device)
|
||||
simulated_mobile = pwright.devices[device]
|
||||
context = self.browser.new_context(**simulated_mobile, locale='fr-FR')
|
||||
self.browser = pwright.firefox.launch(headless=self.headless, timeout=PAGE_TIMEOUT, proxy=proxy)
|
||||
userAgent = random.choice(params.firefox_user_agent_list)
|
||||
print("user_agent is " + userAgent)
|
||||
# context = self.browser.new_context(**simulated_mobile, locale='fr-FR')
|
||||
context = self.browser.new_context(user_agent=userAgent, locale='fr-FR')
|
||||
self.page = context.new_page()
|
||||
# hide webdriver information
|
||||
self.page.add_init_script("""() => {
|
||||
@@ -156,6 +157,7 @@ class CommandorPage:
|
||||
self._run(proxy)
|
||||
|
||||
def _on_page_loaded(self):
|
||||
# time.sleep(40000)
|
||||
self.logger.info("页面加载完毕")
|
||||
self.logger.info("url is " + self.page.url)
|
||||
if self.page.url == RDV_URL:
|
||||
|
||||
Reference in New Issue
Block a user