文章 > Python爬虫 > python学习之Selenium实战:爬取猎聘网渗透测试相关信息

python学习之Selenium实战:爬取猎聘网渗透测试相关信息

Python

头像

2021-02-25 12:01:24958浏览 · 0收藏 · 0评论

banner60.png

一、Selenium简介

百度解释:Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。

一般来说,Selenium可以模拟一个浏览器来执行一些操作。虽然操作会比较慢,但是可以用来抓取动态页面,比请求有更大的优势。

二、selenium高级操作

之前写过一篇webdriver模块使用,有情趣可以看看。

根据selenium可以对抓取内容进行限制,使用的是FirefoxProfile()这个函数去创建句柄

from selenium import webdriver
fp = webdriver.FirefoxProfile()
#禁止层叠样式表CSS
fp.set_preference("permissions.default.stylesheet",2)
#禁止图片加载
fp.set_preference("permissions.default.image",2)
#禁止JS的运行
fp.set_preference("javascript.enabled",false)

三、爬取猎聘网渗透测试相关信息

由于猎聘网的反爬,以及我选择的班级的缺陷,我只拿到了职位和工资,却缺少公司和地址,但我大概是通过多次被反爬有了反爬的想法。

会在代码栏下抓取猎网,仅供参考:

#coding:utf-8
import requests
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver=webdriver.Firefox(executable_path=r'D:\geckodriver.exe')
link="https://www.liepin.com/zhaopin/?sfrom=click-pc_homepage-centre_searchbox-search_new&d_sfrom=search_fp&key=%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95"
driver.get(link)
#找到文本框,输入渗透测试,输入回车
job_list=driver.find_elements_by_css_selector('div.job-info')
for each in job_list:
    name=each.find_element_by_tag_name('h3').text
    money=each.find_element_by_css_selector('span.text-warning').text
    edu=each.find_element_by_css_selector('span.edu').text
    ALL=name+money+edu+'\n'
    with open ('a.txt',"a+") as f:
        f.write(ALL)

爬取后文件夹下生成a.txt。

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮