FN = re.search(r’FileName.*?&', url).group()
#print(FN)#测试代码
DN = re.search(r’DbName.*?&', url)#.group()
if DN !=None:#测试代码
DN=re.search(r’DbName.*?&', url).group()
#print(DN) #测试代码
DC = re.search(r’DbCode.*?&', url).group()
DUrl = “http://kns.cnki.net/KCMS/detail/frame/list.aspx?%s%s%sRefType=1” % (FN, DN, DC)
#print(‘DUrl=’,DUrl)#测试代码
这里打开文献详情页
R = self.request(DUrl)
#如果没有参考文献,则认为是劣质文献,不爬,转爬下一篇
isR = re.search(r’参考文献’, R.text)
if i1 == 1:
print(“没有参考文献的文章:%s” % name)
if isR == None:
continue
详情页
print(i)
print(“文章名字:%s” % name)
d = self.request(url).text
#print(‘d=’,d)#测试代码
这里是文献摘要,
summary = re.search(r’(?<=name=“ChDivSummary”>).+?(?=)', d)
summary=summary.group()
#print(‘摘要=’,summary)
type = re.search(r’“).html(”.*?"', d)
type = type.group()[9:-1]
ins = re.search(r’TurnPageToKnet(‘in’,‘.*?’', d)
if ins == None:
continue
ins = ins.group()[21:-1]
wt = re.findall(r’TurnPageToKnet(‘au’,‘.*?’', d)
writer = “”
for w in wt:
writer = writer + “,” + w[21:-1]
writer = writer[1:]
ws.write(i, 0, name) #文献名
ws.write(i, 1, writer) #作者名
ws.write(i, 2, type) #文献类别
ws.write(i, 15, num) #列表的页码
ws.write(i, 3, summary) # 摘要
ws.write(i, 16, time.strftime(‘%Y-%m-%d %H:%M:%S’, time.localtime(time.time()))) #记录的时间
这里是文献的关键词,最多可以记录8个关键词
kw = re.findall(r’TurnPageToKnet(‘kw’,‘.*?’', d)
tnum = 0
for tkw in kw:
tnum += 1
tkw = tkw[21:-1]
if tnum > 8:
break
ws.write(i, 3 + tnum, tkw)
这里是文献的来源基金
fund = re.search(r’TurnPageToKnet(‘fu’,‘.*?’', d)
if fund != None:
fund = fund.group()[21:-1]
ws.write(i, 11, fund)
分类号
cn = re.search(r’ZTCLS.*?</p’, d)
if cn != None:
cn = cn.group()[19:-3]
ws.write(i, 12, cn)
这是机构
jg = re.search(r’TurnPageToKnet(‘in’,‘.*?’', d)
if jg != None:
jg = jg.group()[21:-1]
#print(jg)
ws.write(i, 17, jg)
是否为核心期刊
sourinfo = re.search(r’sourinfo([.$\s\S]*?)</div’, d)
if sourinfo != None:
sourinfo = sourinfo.group()
print(sourinfo)
from_ = re.search(r’title.*</a’, sourinfo).group()
from_ = re.sub(r’title">.*?>', ‘’, from_)
from_ = re.sub(r’</a’, ‘’, from_)
ws.write(i, 13, from_)
core = re.search(r’中文核心期刊’, sourinfo)
if core != None:
print(core.group())
ws.write(i, 14, “中文核心期刊”)
ws.write(i, 0, a)
i += 1 # 增加页码的计数
wb.save(‘new.xls’) # 保存表格*******有改变 有问题
def request(self, url): # 返回网页的response
print(url)
这里是伪造浏览器信息,和伪造来源
user_agent = ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Ch’ \
‘rome/58.0.3029.81 Safari/537.36’
referer = “http://kns.cnki.net/kns/brief/result.aspx”
这里是伪造cookie,你要从浏览器里复制出来,粘贴在这里
可以把里面的时间不断更新,这样能爬久一点
cookie = ‘cnkiUserKey=e0b40271-cdc0-fd83-36fa-9d4c5f8f2a86; RsPerPage=5’ \
‘0; KNS_DisplayModel=custommode@CJFQ; UM_distinctid=161275ba757a’ \
‘16-0ed232d4ab2da2-6010107f-15f900-161275ba75895e; Ecp_Cli’ \
‘entId=3170915092701569567; ASP.NET_SessionId=3dnqvlsxovsla4’ \
‘ywvr2ykp4c; SID_kns=123106; SID_crrs=125131; SID_klogin=12514’ \
‘3; SID_krsnew=125132; SID_kcms=124113; SID_knsdelivery=125124;’ \
’ CNZZDATA3258975=cnzz_eid%3D995934993-1516843818-http%253A%252’ \
'F%252Fkns.cnki.net%252F%26ntime%3D1517383256; Ecp_session=1; ’ \
‘c_m_LinID=LinID=WEEvREcwSlJHSldRa1FhdkJkVWI2VUJNODFzUHlUaC9LN’ \
‘XZrUDkrcXhYbz0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4ggI8Fm4gTkoU’ \
‘KaID8j8gFw!!&ot=02/01/2018 18:13:09; LID=WEEvREcwSlJHSldRa1F’ \
‘hdkJkVWI2VUJNODFzUHlUaC9LNXZrUDkrcXhYbz0=$9A4hF_YAuvQ5obgVAqN’ \
'KPCYcEjKensW4ggI8Fm4gTkoUKaID8j8gFw!!; c_m_expire=2018-02-01 ’ \
‘18:13:09; Ecp_LoginStuts=%7B%22IsAutoLogin%22%3Afalse%2C%22U’ \
‘serName%22%3A%22KT1008%22%2C%22ShowName%22%3A%22%25E8%25A5%2’ \
‘5BF%25E5%258D%2597%25E7%259F%25B3%25E6%25B2%25B9%25E5%25A4%’ \
‘25A7%25E5%25AD%25A6%22%2C%22UserType%22%3A%22bk%22%2C%22r%2’ \
‘2%3A%22RrMW7A%22%7D’
headers = {‘User-Agent’: user_agent,
“Referer”: referer,
“cookie”: cookie}
r = requests.get(url, headers=headers, timeout=30)
return r
print(time.clock())
beauty = BeautifulPicture() # 创建类的实例
beauty.get_pic() # 执行类中的方法
[
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e609d9de17e680ccba27f351612a0860.png#pic_center)
14d3c8856824a0d6186c1.png)
六、面试宝典