Fork me on Github

selenium爬取拉勾招聘

 1 import time
 2 from selenium.webdriver import Edge
 3 from selenium.webdriver.common.by import By
 4 from selenium.webdriver.common.keys import Keys
 5 
 6 web = Edge()
 7 web.get("https://www.lagou.com")
 8 
 9 # 定位到元素
10 el = web.find_element(By.XPATH, '//*[@id="changeCityBox"]/p[1]/a')
11 el.click()  # 点击
12 time.sleep(1)
13 # 定位输入框输入并回车
14 web.find_element(By.XPATH, '//*[@id="search_input"]').send_keys("python", Keys.ENTER)
15 # 数据搜集
16 div_list = web.find_elements(By.XPATH, '//*[@id="jobList"]/div[1]/div')
17 for div in div_list:
18     job_name = div.find_element(By.XPATH, './div[1]/div[1]/div[1]/a').text
19     job_price = div.find_element(By.XPATH, './div[1]/div[1]/div[2]/span').text
20     company_name = div.find_element(By.XPATH, './div[1]/div[2]/div[1]/a').text
21     # 打开另一个窗口
22     web.find_element(By.XPATH, '//*[@id="jobList"]/div[1]/div[1]/div[1]/div[1]/div[1]/a').click()
23     # 视图转到新打开的窗口
24     web.switch_to.window(web.window_handles[-1])
25     job_detail = web.find_element(By.XPATH, '//*[@id="job_detail"]/dd[2]/div').text
26     # 关闭子窗口
27     web.close()
28     # 回到最初窗口
29     web.switch_to.window(web.window_handles[0])
30     print(company_name, job_name, job_price, job_detail)
31     print()

 

posted @ 2022-07-12 16:12  昂昂呀  阅读(23)  评论(0)    收藏  举报