diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\344\272\214\345\221\250 3.15 -3.21/\347\254\254\344\270\211\350\212\202/.keep" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\344\272\214\345\221\250 3.15 -3.21/\347\254\254\344\270\211\350\212\202/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\344\272\214\345\221\250 3.15 -3.21/\347\254\254\344\270\211\350\212\202/\344\273\243\347\240\201.py" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\344\272\214\345\221\250 3.15 -3.21/\347\254\254\344\270\211\350\212\202/\344\273\243\347\240\201.py" new file mode 100644 index 0000000000000000000000000000000000000000..aee1b102655306c0398c947a49dd20649945c7a1 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\345\274\240\345\205\264\351\233\250/\347\254\254\345\215\201\344\272\214\345\221\250 3.15 -3.21/\347\254\254\344\270\211\350\212\202/\344\273\243\347\240\201.py" @@ -0,0 +1,59 @@ +from selenium import webdriver +from selenium.webdriver import ActionChains +from selenium.webdriver.common.keys import Keys +from jd_crawler.jd_parser import search +import time + +driver_path = r"D:\driver\chromedriver.exe" + + +class JdSearch: + def __init__(self, proxy=None, ua=None, headless=False, user_dir=None): + chrome_options = webdriver.ChromeOptions() + chrome_options.add_argument("disable-blink-features=AutomationControlled") + if proxy: + chrome_options.add_argument(f"--proxy-server={proxy}") + if ua: + chrome_options.add_argument(f"--user-agent={ua}") + if headless: + chrome_options.add_argument("--headless") + if user_dir: + chrome_options.add_argument(f"--user-data-dir={user_dir}") + self.browser = webdriver.Chrome(executable_path=driver_path, chrome_options=chrome_options) + self.browser.maximize_window() + self.browser.set_window_size(width=1660, height=960) + self.browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",{ + "source":""" + Object.defineProperty(navigator, 'webdriver',{ + get:()=> 'my_webdriver' + }) + """ + }) + + def sim_search(self, keyword, url): + self.browser.get(url) + search_input = self.browser.find_element_by_css_selector('input[aria-label="搜索"]') + search_input.send_keys("鼠标") + search_button = self.browser.find_element_by_css_selector('button[aria-label="搜索"]') + search_button.click() + + + + def main(self, keyword, url): + self.sim_search(keyword, url) + time.sleep(3) + self.browser.execute_script("window.open('http://baidu.com')") + self.browser.switch_to.window(self.browser.window_handles[-1]) + ac = ActionChains(self.browser) + ac.send_keys(Keys.ENTER).perform() + item_array = search.parse_jd_item(self.browser.page_source) + print(item_array) + self.browser.close() + +if __name__ == "__main__": + jd_url = "https://www.jd.com/" + proxy = "127.0.0.1:8888" + ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" + user_dir = r"D:\driver\tmp" + jd_search = JdSearch() + jd_search.main("鼠标", jd_url)