注:本文下面的内容仅评论绕过思路,作为技能交流之用。咱们下载论文仍是应该经过正规渠道,付费下载,尊重各位站长的劳动成果。灵敏图片和代码中触及站点的内容均已打码。
有时候要研讨技能,咱们也需求下载一些论文来看看的。一些论文站点,尽管供给预览功用,可是下载却是收费的。
举个比如,如下站点:
当咱们点击“赞同并开端全文预览”按钮时,是有一个弹出窗口来预览论文的。
可是当咱们点击“下载”按钮时,却提示需求收费。
一方面它单篇论文的收费真实是挺贵的;别的一方面,咱们或许更倾向于把论文批量下载到本地,比及有时间时渐渐读完。这该怎么办呢?
咱们F12看看预览页面的内容:
能够明晰的看到,id=”pdf”的div下的每个子节点div对应着论文的每一页,而每一个子div中包括的img标签对应的图片则是每一页的内容。咱们将img标签的src中的链接仿制出来,粘贴在浏览器的新页签中,其实是能够看到本页论文内容,而右键“保存图片”是能够将此页论文保存到本地的。
以上便是手动绕过约束下载论文的思路。可是有的论文页数真实太多,手动逐一仿制链接下载真实有些功率低下,所以咱们能够写个脚原本提高功率。
#coding:utf-8
import traceback
import urllib2
import urllib
import sys
import Queue
import os
import time
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(30)
host = "此处打码"
searchurl = "https://" + host + "/index.php?m=Search&a=index"
dstpath = "h:/downloadpdf"
download_queue = Queue.Queue()
reload(sys)
sys.setdefaultencoding("utf-8")
class UnicodeStreamFilter:
def __init__(self, target):
self.target = target
self.encoding = 'utf-8'
self.errors = 'replace'
self.encode_to = self.target.encoding
def write(self, s):
if type(s) == str:
s = s.decode("utf-8")
s = s.encode(self.encode_to, self.errors).decode(self.encode_to)
self.target.write(s)
if sys.stdout.encoding == 'cp936':
sys.stdout = UnicodeStreamFilter(sys.stdout)
def get_search_result(keywords):
data = {"q":keywords}
headers = {"cookie":"拜访论文站点时f12看到的cookie填入此处,此处打码"}
req = urllib2.Request(url=searchurl,data=urllib.urlencode(data),headers=headers)
res = urllib2.urlopen(req)
content = res.read()
soup = BeautifulSoup(content, features="lxml")
divlist = soup.find_all(class_="item-title")
if divlist is not None and len(divlist) > 0:
for divitem in divlist:
alist = divitem.find_all("a")
if alist is not None and len(alist) > 0:
ahref = alist[0].attrs["href"]
title = alist[0].attrs["title"]
download_queue.put([
"http://%s%s"%(host,ahref,),
title
])
def save_pdf(title, imgls, chost):
headers = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
[1] [2] [3] 黑客接单网
简介 移动运用程序现在现已成为最有用的进犯向量之一,这些网络罪犯最喜欢的一种办法就是盛行运用程序的乱用。自己审视下是否在装置一款需求衔接到交际运用账户凭据,电子邮件账户,云存储服务的运用时有静下来细细...
上文咱们说过,《针对Dalvik字节码的类似性检测引擎,比较同一款Android运用程序的不同版别之间的代码差异》这篇文章计区分两个部分来解说,上文只介绍了怎么运用Quarkslab公司开发的diff...
本文将向咱们介绍如安在AIX和Power架构上运转Metasploit结构,这关于那些想要测验在这些架构上运转Metasploit的人可能会有所协助(至少现在我还没有在网上发现关于这方面的教程内容)。...
同源战略(SOP)约束了应用程序之间的信息同享,而且仅答应在保管应用程序的域内同享。这有用避免了体系秘要信息的走漏。但与此一起,也带来了别的的问题。跟着Web应用程序和微服务运用的日益增长,出于有用意...
今日测验了一个网站,发现存在360webscan的阻拦,所以便开端了一波“bypass”。 进入主题 1. 判别注入点 运用“and 1=1”测验了一下,惨遭阻拦。随后又测验了一下or也是被阻拦的。...
在HTML5中 标签参加了一个新的特点ping。规划者参加它的理由是, Ping能够使浏览器对外发送一个异步恳求,一般用来广告的追寻、点击率计算或完结一次HTTP重定向。 可是听到监督、追寻这个词,...