解析一个网站:
本帖最后由 wp231957 于 2020-2-26 13:46 编辑发现无法使用鼠标右键,尝试网上N种办法 无效,于是继续努力:
1、复制源码(还好F12能用) 另存为本地html
2、使用file协议 运行该html,发现会强制跳转
发现:
<script>
if(window.location.href.indexOf('enterdesk.com')==-1)
{
window.location.href="https://www.enterdesk.com"
}
</script>
删除之,继续
3、查看css文档,可以确定不是通过css禁用鼠标右键
4、发现PUBLIC.JS中存在以下代码
$(document).ready(function(){
$(document).bind("contextmenu",function(e){
return false;
});
$(document).bind("selectstart",function(){return false;});
});
百度得知,第一个是绑定鼠标右键事件 false 为禁止
第二个是绑定鼠标选择区域事件 flase为禁止
把这段代码 删除,于是乎,鼠标右键 管用,此时 本地html 分析结束
继续实战:,以上是针对本地html的分析和实现,下面针对web网页进行测试:
经过了N++次 实验,终于成功一次:
$(document).unbind("contextmenu"); //此条代码再F12控制台下获取成功
javascript:$(document).unbind("contextmenu");//此条代码再地址栏下 获取成功
$(document).unbind("contextmenu"); //这个代码再地址栏下 不会成功
补充:再地址栏里输入javascript代码再edge浏览器里遭遇失败,需要再地址栏输入about:flags把和javascript相关的开关开启否则 它都给你当字符串处理
爬虫部分:
此部分倒是没有遇到什么坎坷:
import requests
from lxml import etree
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36"}
pages=0
for page in range(1,779):
url="https://www.enterdesk.com/zhuomianbizhi/%s.html"%page
reponse=requests.get(url=url,headers=headers)
reponse.encoding=("utf-8")
tree = etree.HTML(reponse.text)
data=tree.xpath("//img/@src")
for x in data:
pages+=1
imgcontent=requests.get(x)
with open(r'/pic/enterdesk/'+x.split("/")[-1], 'wb') as file:
file.write(imgcontent.content)
print("共计%d张图片被下载"%pages)
'''
e:\>python ex20.py
共计12448张图片被下载
'''
就是浪费了我不少时间,一万多张图片 被成功下载 学习学习
页:
[1]