2020-09-01

暴力猴
前言
随着爬虫的需求越来越大,各种反爬手段层出不穷,有些反爬虫手段很难破解这时候,推荐你用暴力猴,他可以满足你的需求,而且网上的写的参差不齐。

一、油猴插件的介绍?
油猴插件名字是tampermonkey,那为什么什么喜欢称呼其为油猴插件呢!因为tampermonkey是是一款免费的浏览器扩展和最为流行的用户脚本管理器。是用来管理什么用户脚本的呢? 就是油猴脚本啦!所以人们也称tampermonkey为油猴插件。

二、油猴脚本项目实战代码展示
油猴脚本是一段代码,它们能够优化您的网页浏览体验。安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容。在 Greasy Fork 上的用户脚本都是由用户编写并向全世界发表的,您可以免费安装,轻松体验。
代码如下(爬取boss直聘企业版,爬热门城市的简历):

油猴脚本,boss数据爬虫.js
// ==UserScript==
// @name         BOSS数据爬虫
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  crawl is greate
// @author       Mike
// @include      https://www.zhipin.com/*
// @require      http://cdn.bootcss.com/jquery/1.11.2/jquery.js
// @grant        GM_xmlhttpRequest
// ==/UserScript==
var dataList = [];
var $x = function (xpath, context) {
    var nodes = [];
    try {
        var doc = (context && context.ownerDocument) || window.document;
        var results = doc.evaluate(xpath, context || doc, null, XPathResult.ANY_TYPE, null);
        var node;
        while (node = results.iterateNext()) {
            nodes.push(node);
        }
    } catch (e) {
        throw e;
    }
    return nodes;
}

function datalist(){
   let li_item_list=$x("/html/body/div/div/div/div/div[2]/div/div/div/div/ul/li");//匹配网页数据
   li_item_list.forEach(v=>{
         dataList.push({"data":v.innerHTML})
   });
}
var server_url = "http://127.0.0.1:5000"//服务器的地址
var dlen=1000
function slide(){
    //滚动条总长度
    if(dlen<=20000){
        var q=document.documentElement.scrollTop=dlen;
        //每次滚动500
        dlen += 500;
       } else {//这里写的是将列表数据,发送给本地服务端,然后可以在服务端用数据库保存
           datalist();
           console.log(dataList);
           GM_xmlhttpRequest({//跨域
            method: "POST",
            url: server_url,
            data : JSON.stringify({'name':"爬虫","dataList":dataList}),
            onload: function(response) {
                //这里写处理函数
                //document.getElementById('text').innerHTML = this.responseText;
                console.log(response);
                console.log("dataList",dataList);
             
            }
        });
            clearInterval(setId);
       }
}

var setId;
//500ms控制速率
setId = setInterval(slide, 500);

三、小结
安装油猴插件到谷歌,或者火狐上,安装细节去百度
添加脚本:
以爬boss数据为例:
1,编写油猴脚本,要开先启脚本。
2,在pycharm上新建一个flask项目,用来接收油猴发过来的数据,保存到数据库。
3,在新建一个pycharm项目py文件,用来写定时任务,打开浏览器网,导航到要爬的网页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值