话不多说,上代码
encoding: utf-8
from bs4 import BeautifulSoup
import requests
from urllib.request import urlopen
import re
import json
def visit(url):
headers = {
“User-Agent”: “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)”,
“accept”: “application/json, text/javascript, /; q=0.01”,
“accept-encoding”: “gzip, deflate, br”,
“accept-language”: “zh-CN,zh;q=0.9”,
“content-type”: “application/x-www-form-urlencoded; charset=UTF-8”,
“cookie”: “”, – 填自己的
“referer”: “”,
“sec-fetch-dest”: “document”,
“sec-fetch-mode”: “navigate”,
“sec-fetch-site”: “same-origin”,
}
res = requests.get(url,headers=headers)
bsObj = BeautifulSoup(res.text, “html.parser”)
return bsObj
def visit_homepage(url):
bsObj = visit(url)
content = bsObj.find(‘div’, class_=“content”)
content_list = content.select(“p”)
category = []
for i in range(4,len(content_list)):
try:
urls = content_list[i].a[‘href’]
name = content_list[i].get_text(“|”).split(“|”)[0].replace(’ ‘,’‘).replace(’\xa0’,‘’)
category.append([name,urls])
except:
pass
print(category)
return category
def download_pdf(conf,path):
category_name = conf[0]
category_url = conf[1]
bsObj = visit(category_url)
res = re.search(r’(.)token:(.?),',str(bsObj) ,re.M|re.I)
token = res.group(2).replace(‘"’,‘’).replace(’ ‘,’')
arts = re.findall(r’(.)li data-docinfo=(.?)}',str(bsObj) ,re.M|re.I)
for art in arts:
art_str = “{”+str(art).split(‘{’)[1].replace(“')”,“}”)
art_dic = json.loads(art_str)
id = art_dic[‘id’]
name = art_dic[‘name’]
download_url = “https://api.z.itpub.net/download/file?st-usertoken=%s&id=%s”%(token,str(id))
print(download_url)
data = urlopen(download_url).read()
with open(path+category_name+‘__’+name, ‘wb’) as f:
f.write(data)
print("finish download ")
if name == ‘main’:
homepage = “https://z.itpub.net/article/detail/5260C494873379BAA63BAB7C5CBD7A95”
path = “/Users/xxx/Downloads/DTCC/”
download
category = visit_homepage(homepage)
for i in category:
download_pdf(i,path)
程序下载
========
1、cookie换成自己的
获取cookie办法:打开开发者模式(windows F12,mac opt+command+i) 打开开发者模式,访问:homepage,network里面有cookie
做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。
别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。
我先来介绍一下这些东西怎么用,文末抱走。
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
(4)200多本电子书
这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。
基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。
(5)Python知识点汇总
知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。
(6)其他资料
还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。
这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。