Python 用Selenium Data Scrape 28car.com data 一問
如題, 以下係我的python script , 我想去28car 根據我的喜好去選車,然後將個result set 變成dataframe 再用黎自己睇,係唔係做唔到的?唔知點解,我一search 禁完個'search' button, 佢就彈左去另一版(which is 如果人手search , 個網係會出到我想要的result,而唔係彈左另一頁,其實會唔會個網知道我用緊bot? ):
以下係我的code:- import ws_functions.config as ws_config
- import ws_functions.cust_functions as ws_functions
- import time
- from selenium.webdriver.support.ui import Select
- Type = "私家車"
- MANU = "奧迪"
- Cc = ""
- ATMT = "自動波"
- Year = "2011內"
- Price = ""
- model = "118i"
- url = "https://www.28car.com/"
- #browser = ws_functions.get_ChromeDriver(("--headless"))
- browser = ws_functions.get_ChromeDriver(())
- browser.implicitly_wait(10)
- browser.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'})
- browser.get(url)
- time.sleep(3)
- browser.switch_to_frame(browser.find_element_by_xpath('/html/frameset/frame'))
- time.sleep(2)
- browser.find_element_by_id('h_username').send_keys('login')
- time.sleep(0.5)
- browser.find_element_by_id('h_password').send_keys('password')
- time.sleep(0.5)
- browser.find_element_by_xpath('/html/body/table[1]/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr/td[8]/input').click()
- time.sleep(2)
- browser.find_element_by_xpath('/html/body/table[3]/tbody/tr/td[2]/table/tbody/tr[1]/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td[1]/a[1]/img').click()
- time.sleep(4)
- select = Select(browser.find_element_by_id('h_f_ty'))
- select.select_by_visible_text(Type)
- time.sleep(4)
- select = Select(browser.find_element_by_id('h_f_mk'))
- select.select_by_visible_text(MANU)
- time.sleep(4)
- select = Select(browser.find_element_by_id('h_f_tr'))
- select.select_by_visible_text(ATMT)
- time.sleep(4)
- select = Select(browser.find_element_by_id('h_f_yr'))
- select.select_by_visible_text(Year)
- time.sleep(4)
- ele = browser.find_element_by_id('h_srh').send_keys(model)
- time.sleep(5)
- browser.find_element_by_class_name('btn_c').click()
- time.sleep(4)
- browser.find_element_by_xpath('//*[@id="chromemenu"]/ul/li[1]/a').click()
- time.sleep(3)
複製代碼 |
|
|