一、copy网站
网页屏蔽了,禁止复制。 解决方法: 1、打开网页,菜单——文件--另存为,在弹出的窗口中,选择保存类型为‘文本文件’,然后再打开所保存的文本文件进行编辑就可以,但这样有点麻烦, 2、工具——Internet选项——安全,将‘安全级’滑块从中级向上拖到高级,点‘确定’按钮。这时关闭IE。之后再重新打开你刚才的网页,就可以复制和保存。 3、启动IE,工具——Internet选项——安全——自定义级别,在弹出的窗口中将所有脚本全部选择禁用,确定。然后按F5刷新页面,这时你就能够对网页的内容进行复制、粘贴等操作。然后用相同步骤给网页脚本解禁,这样就不会影响到你浏览其他网页。 祝你好运
|
二、克隆网站怎么做权重
要copy一个公司站一点技术含量都没,花钱去买或者私下解决都是下下策,你买他一个他可以造无数个出来。在他没给你客户造成实质损失前,你举报啥的都不管用的,很多网站都有N多山寨版本的,当年开心网火的时候百度搜开心网前几页都是山寨本,正版的可懒得去告他。我给你的建议是: 1.好好做下优化,你主站居然排到了这个百度收录只有一页的山寨版后面,这个优化做的。。。 多到权重站发几篇文章 或者招聘就把他给淹没到百度后面几十页去了。 2.不要把他当回事,现在域名备案都实名制 这么严,他真敢诈骗跑不了的。
|
三、2019秒赞网破解源码
环境搭建
Selenium是一个支持多语言的自动化测试框架,不管是Java, Ruby,还是Python,都能使用其支持的库来进行自动化测试。我本人最喜欢Python语言,所以这里将会以Python语言进行测试。
驱动
Selenium是典型的CS框架,浏览器作为Server执行Client(selenium代码)的请求,通过“代理”这么个理念实现自动化测试。 这么说可能不太通俗,换句话就是selenium执行的时候会调用浏览器,根据设置好的代码运行,最终实现自动化测试。
selenium2之后,以webdriver代替Proxy功能,处理所有请求。
所以不管怎么说,浏览器都是必不可少的啦。因此我们需要安装一下浏览器驱动。
关于浏览器驱动的问题,可能就是阻挡了大部分人使用selenium的拦路虎吧。
下载
下载驱动。按需下载即可,待会会讲解怎么使用,我这里下载的是firefoxdriver.exe
下载webdriver驱动
selenium
安装selenium也是很方便的。
如果您已安装比较旧的版本:
pip install -U selenium 如果您还未安装selenium:
pip install selenium 这样就完事了。
驱动安装问题集
下面聊聊我在这个过程中遇到的一些奇怪的问题,可能不具备普适性。
未发现驱动
如果驱动没有正确放置,就会报出下面的错误。 驱动未正确配置
解决办法就是将刚才下载的driver放置到Python的Path或者放到任意一个系统能找得到的Path中。我个人建议放置到Python的根目录中,这样便于管理。
firefox驱动错误
主要症状就是无法开启,闪退。这个时候我们需要下载一个geckodriver.exe。
可以在下面的链接中找到适合自己系统版本的来使用。
https://github.com/mozilla/geckodriver/releases
下载完之后放置到Python路径中即可,处理方法和刚才的那个一样。然后问题就解决了(反正我是这么解决的啦)。
模拟登陆
下面开始步入正题了,使用selenium进行模拟登陆其实就可以想象成有一双无形的手在进行用户名,密码填写,然后点击按钮等等。这样就会变得很容易理解了。
这里关于selenium选择器等等的基础性的知识点就不再讲解了,网上资料很多,也很详细。相信大家一看就会明白的。
我自己最常用也最喜欢的就是:
driver.get_element_by_id() driver.get_element_by_xpath() 然后要登录QQ空间,就得先看看人家长什么样吧,如图:
QQ空间首页
首败
按下F12就可以查看网页的源代码了,所以什么用户名啊,密码啊,登陆按钮啊都不是事了。不多说,直接上代码。
#coding: utf8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('#39;)
driver.find_element_by_id('switcher_plogin').click()
driver.find_element_by_name('u').clear() driver.find_element_by_name('u').send_keys('你的QQ号') driver.find_element_by_name('p').clear() driver.find_element_by_name('p').send_keys('你的密码')
driver.find_element_by_xpath('//*[@id="loginform"]/div[4]/a').click() driver.find_element_by_id('login_button').click()
print driver.current_url 然而我发现我想多了,真正的考验才刚刚开始。这样根本就找不到网页源代码中看到的那些个id啊class什么的。
再败
既然找不到,可能就是代码的问题了。然后我又仔仔细细的查看了一下代码,发现也没啥错误啊。然后不甘心,又去看了看网页的源代码。结果还真的被我发现了。
尼玛,这叫什么事嘛。
如下图,不难发现了吧。 多了个iframe
有一个iframe,怪不得Selenium找不到,既然如此,那咱们就乘胜追击。修改一下代码呗。
#coding: utf8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('#39;) driver.switch_to.frame('login_frame') driver.find_element_by_id('switcher_plogin').click()
driver.find_element_by_name('u').clear() driver.find_element_by_name('u').send_keys('你的QQ号') driver.find_element_by_name('p').clear() driver.find_element_by_name('p').send_keys('你的密码')
driver.find_element_by_xpath('//*[@id="loginform"]/div[4]/a').click() driver.find_element_by_id('login_button').click()
print driver.current_url 加上了这么一行:
driver.switch_to.frame(‘login_frame’) 作用就是根据iframe的id或name来跳转到这个iframe上。
本以为完事大吉咯,终于可以秒赞了,耶。
然而事实给了我一个残酷的打击。到最后一个“登录”按钮点击的时候停了下来。结果还是失败了。
成功
它越是这样,我就越想写出来。没办法,硬着头皮上呗,直觉上还是QQ空间源代码的问题,于是这次就直接继续看源代码去了。 果不其然,发现了下图这么个代码。 hidefocus问题
然后我就想使用JS来把这个故意隐藏不让focus的给显现出来。
恩,我就是这么做的,然后真的就成功了。核心就添加了下面的这行代码。
driver.execute_script("document.getElementById('login_button').parentNode.hidefocus=false;") 下面贴出来完整的代码吧,方便参考。
#coding: utf8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('#39;) driver.switch_to.frame('login_frame') driver.find_element_by_id('switcher_plogin').click()
driver.find_element_by_name('u').clear() driver.find_element_by_name('u').send_keys('你的QQ号') driver.find_element_by_name('p').clear() driver.find_element_by_name('p').send_keys('你的密码')
driver.execute_script("document.getElementById('login_button').parentNode.hidefocus=false;")
driver.find_element_by_xpath('//*[@id="loginform"]/div[4]/a').click() driver.find_element_by_id('login_button').click()
print driver.current_url 演示
下面使用一个gif图来演示一下模拟登陆的效果,方便流畅性的观看,也更具说服力。
QQ空间模拟登陆
总结
到此基本上已经可以拿来使用了。无非在登陆成功的界面下使用Selenium模拟进行一些点击操作。如果想发点文字的话也是很方便的,send_keys可以很好的解决这个问题。什么秒赞,秒答都不是什么事了。
但是需要注意的是,QQ空间对登陆频率是做了限制的,就算是手动登陆,连续几次之后就会让我们输入验证码。这也是一种安全机制罢了。
如果有需要的话,Python处理验证码的模块也是非常好用的。这里就不再介绍了。
最后,Selenium给我的感悟就是:我自己对Selenium有点大材小用了,这样一款优秀的测试框架,却拿来做这种小玩意,确实是有点说不过去。
另外我也认识到了,测试的目的是为了提供更好的服务。而不是拿来当做攻击的手段。恶意的发水机,这种行为极不负责任,希望我们都能谨言慎行,共同营造一个和谐的网络家园。
心正了,人才会正直。感谢Selenium给我的这个启迪。
|