python爬虫selenium操作(1)

1.数据源 互联网求职招聘找工作-上拉勾招聘-专业的互联网求职招聘网站 

利用selenium自动化工具进行操作

首先我们先导入包

from selenium.webdriver import Chrome

1.创造浏览器对象 然后运行程序会自动打开这个网站


web  = Chrome()

web.get("http://lagou.com")

 找到某个元素然后点击 比如搜索框 然后复制xpath路径

python爬虫selenium操作(1)_第1张图片

el = web.find_element(By.XPATH,'//*[@id="changeCityBox"]/p[1]/a')
el.click() # 点击事件

 3.找到搜索框输入python然后回车 这时候我们需要从键盘上得到回车键所以得导一个包

#如果想从键盘上的某个按钮 需要导包
from selenium.webdriver.common.keys import Keys
web.find_element(By.XPATH,'//*[@id="search_input"]').send_keys("python",Keys.ENTER) #send_keys是往输入框里面搜索东西

 这是源码 可以自己去运行一下 比较简单的提取数据,这中工具的好处就是可以直接访问导数据,但缺点就是有点慢,也有专门不让selenium访问的网站 总之不需要用导resqusts模块

import webbrowser

from selenium.webdriver.common.by import By
from selenium.webdriver import Chrome
#如果想从键盘上的某个按钮 需要导包
from selenium.webdriver.common.keys import Keys

import time
web  = Chrome()

web.get("http://lagou.com")

# 找到某个元素然后点击他
el = web.find_element(By.XPATH,'//*[@id="changeCityBox"]/p[1]/a')
el.click() # 点击事件

time.sleep(1) # 让浏览器加载一会 因为我们的是程序执行比较快 可能他没加载我们就执行完了 然后会报错
# 找到搜索框 ,输入python => 输入回车/点击搜索按钮
web.find_element(By.XPATH,'//*[@id="search_input"]').send_keys("python",Keys.ENTER) #send_keys是往输入框里面搜索东西

time.sleep(1)
# 查找存放数据的位置,进行数据提取
# 找到页面中存放数据的所有div
li_list = web.find_elements(By.XPATH,'//*[@id="jobList"]/div[1]/div')
for li in li_list:
    job_name = li.find_element(By.XPATH,'./div[1]/div[1]/div[1]/a').text
    job_price = li.find_element(By.XPATH,'./div/div[1]/div[2]/span').text
    job_home = li.find_element(By.XPATH, './div[1]/div[2]/div[1]/a').text
    print(job_name,job_price,job_home)

你可能感兴趣的:(爬虫,python,学习,开发语言,ux,hadoop)