下载地址:https://pan.baidu.com/s/1jzXlbtnTTOmEe09eRnuecw?pwd=3ayf 
提取码:3ayf

参数

    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"base_url = "https://down.chinaz.com"  # 采集的网址  https://sc.chinaz.com/tag_ppt/zhongguofeng.htmlsave_path = "D:\\Freedom\\Sprider\\ChinaZ\\"sprider_count = 136# 采集数量haved_sprider_count = 0  # 已经采集的数量word_content_list = []folder_name = ""first_column_name = "ppt"sprider_start_count=120 #已经采集完成第136个 debugmax_pager=16 #每页的数量

主体函数:

def sprider(self, title_name="PHP"):"""采集 https://down.chinaz.com/class/572_5_1.htm:return:"""if title_name == "PHP":self.folder_name = "PHP源码"self.second_column_name = "572_5"elif title_name == "Go":self.folder_name = "Go源码"self.second_column_name = "606_572"merchant = int(self.sprider_start_count) // int(self.max_pager) + 1second_folder_name = str(self.sprider_count) + "个" + self.folder_nameself.save_path = self.save_path+ os.sep + "Code" + os.sep +  second_folder_nameprint("开始采集ChinaZCode"+self.folder_name+"...")sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))#print(sprider_url)#sprider_url = (self.base_url + "/" +  self.first_column_name + "/" + second_column_name + ".html")response = requests.get(sprider_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))response.encoding = 'UTF-8'soup = BeautifulSoup(response.text, "html5lib")#print(soup)div_list =soup.find('div', attrs={"class": 'main'})div_list=div_list.find_all('div', attrs={"class": 'item'})#print(div_list)laster_pager_ul = soup.find('ul', attrs={"class": 'el-pager'})laster_pager_li = laster_pager_ul.find_all('li', attrs={"class": 'number'})laster_pager_url = laster_pager_li[len(laster_pager_li)-1]#<a href="zhongguofeng_89.html"><b>89</b></a>page_end_number = int(laster_pager_url.string)#print(page_end_number)self.page_count = merchantwhile self.page_count <= int(page_end_number):  # 翻完停止try:if self.page_count == 1:self.sprider_detail(div_list,self.page_count,page_end_number)else:if self.haved_sprider_count == self.sprider_count:BaseFrame().debug("采集到达数量采集停止...")BaseFrame().debug("开始写文章...")self.builder_word(self.folder_name, self.save_path, self.word_content_list)BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")breaknext_url =self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name,self.page_count )response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))response.encoding = 'UTF-8'soup = BeautifulSoup(response.text, "html5lib")div_list = soup.find('div', attrs={"class": 'main'})div_list = div_list.find_all('div', attrs={"class": 'item'})self.sprider_detail(div_list, self.page_count,page_end_number)passexcept Exception as e:print("sprider()执行过程出现错误" + str(e))passself.page_count = self.page_count + 1  # 页码增加1def sprider_detail(self, element_list, page_count,max_page):try:element_length = len(element_list)self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)index = self.sprider_start_indexwhile index < element_length:a=element_list[index]if self.haved_sprider_count == self.sprider_count:BaseFrame().debug("采集到达数量采集停止...")breakindex = index + 1sprider_info = "正在采集第" + str(page_count) + "页的第" + str(index) + "个资源"print(sprider_info)#title_image_obj = a.find('img', attrs={"class": 'lazy'})url_A_obj=a.find('a', attrs={"class": 'name-text'})next_url = self.base_url+url_A_obj.get("href")coder_title = url_A_obj.get("title")response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))response.encoding = 'UTF-8'soup = BeautifulSoup(response.text, "html5lib")#print(soup)down_load_file_div = soup.find('div', attrs={"class": 'download-list'})if down_load_file_div is None:BaseFrame().debug("应该是多版本的暂时不下载因此跳过哦....")continuedown_load_file_url =self.base_url+down_load_file_div.find('a').get("href")#image_obj = soup.find('img', attrs={"class": "el-image__inner"})#image_src =self.base_url+image_obj.get("src")#print(image_src)codeEntity = SpriderEntity()  # 下载过的资源不再下载codeEntity.sprider_base_url = self.base_urlcodeEntity.create_datetime = SpriderTools.get_current_datetime()codeEntity.sprider_url = next_urlcodeEntity.sprider_pic_title = coder_titlecodeEntity.sprider_pic_index = str(index)codeEntity.sprider_pager_index = page_countcodeEntity.sprider_type = "code"if SpriderAccess().query_sprider_entity_by_urlandindex(next_url, str(index)) is None:SpriderAccess().save_sprider(codeEntity)else:BaseFrame().debug(coder_title + next_url + "数据采集过因此跳过")continueif (DownLoad(self.save_path).down_load_file__(down_load_file_url, coder_title, self.folder_name)):#DownLoad(self.save_path).down_cover_image__(image_src, coder_title)  # 资源的 封面sprider_content = [coder_title,self.save_path + os.sep + "image" + os.sep + coder_title + ".jpg"]  # 采集成功的记录self.word_content_list.append(sprider_content)  # 增加到最终的数组self.haved_sprider_count = self.haved_sprider_count + 1BaseFrame().debug("已经采集完成第" + str(self.haved_sprider_count) + "个")if (int(page_count) == int(max_page)):self.builder_word(self.folder_name, self.save_path, self.word_content_list)BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")except Exception as e:print("sprider_detail:" + str(e))passdef builder_word(self, word_title, save_path, list_files):"""输出产物是word文件:param word_title: 文件的标题:param save_path: 文件的保存路径:param list_files: 文件集合(单个内容):return:"""try:self.copy_file(self.save_path)print("Create Word"+word_title)file_count= len(list_files)self.gen_passandtxt(file_count,word_title)document = Document()document.add_heading(word_title, level=2)document.add_paragraph("分享"+str(file_count)+"个"+str(word_title)+",总有一款适合您\r\n""下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。")ppt_tieles = ""for files in list_files:ppt_tieles = ppt_tieles + str(files[0]) + "\r"document.add_paragraph(ppt_tieles)for files in list_files:try:document.add_paragraph(files[0])document.add_picture(files[1], width=Inches(3))except Exception as e:passdocument.add_paragraph("最后送大家一首诗:")paragraph = document.add_paragraph()  # 单独控制paragraph.add_run("山高路远坑深,\r")paragraph.add_run("大军纵横驰奔,\r")paragraph.add_run("谁敢横刀立马?\r")paragraph.add_run("惟有点赞加关注大军。\r")paragraph.bold = True  # 字体加粗file_full_path=save_path+os.sep+word_title+".docx"document.save(file_full_path)except Exception as e:print("Create Word Fail reason:" + str(e))def gen_passandtxt(self,file_count,word_title):print("Create PassWord and Pass.txt")message=SpriderTools.gen_password()password = "".join(message)content=""content = content + "\n分享"+str(file_count)+"个"+word_title+",总有一款适合您\r\n"content = content + "\n\r"content=content+"\n都到这里了您就支持一下呗!谢谢老铁~~"content=content+"\n\r"content=content+"\n文件我就不一一列举了,送老铁一首打油诗"content=content+"\n学习知识费力气,"content=content+"\n收集整理更不易。"content=content+"\n知识付费甚欢喜,"content=content+"\n为咱码农谋福利。"content=content+"\n\r"content=content+"\n\r"content=content+"\n感谢您的支持"content=content+"\n\r"content=content+"\n-------------------------------------------华丽分割线-------------------------------------------------------"content=content+"\n友情提醒解压密码:"+password+""full_path=self.save_path+os.sep+""+str(file_count)+"sell_pass.txt"with open(full_path, 'a', encoding='utf-8') as f:f.write(content)def copy_file(self,target_path):print("copy files")import osimport shutil# src_apk_file_path="薅羊毛专业版.apk"# dst_apk_file_path=target_path+os.sep+"薅羊毛专业版.apk"# shutil.copyfile(src_apk_file_path, dst_apk_file_path)  # 移动文件## src_pdf_file_path = "薅羊毛专业版.pdf"# dst_pdf_file_path = target_path + os.sep + "薅羊毛专业版.pdf"# shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件src_doc_file_path = "readme.docx"dst_doc_file_path = target_path + os.sep + "readme.docx"shutil.copyfile(src_doc_file_path, dst_doc_file_path)  # 移动文件pass

采集的文件名:

发货100付费下载系统(含APP小程序) v1.1 build20221118
CRMEB 多语言开源商城系统 v4.6.0 bulid20221115
魔众人才招聘系统 v5.2.0
魔众发卡系统 v4.1.0
74cms骑士人才招聘系统源码SE版 v3.16.0
易优双语外贸茶叶网站源码 v1.6.0
易优cms智能家电空调风扇网站源码 v1.6.0
免费红色响应式多语言企业通用模板 v1.0.0
魔众活动报名系统 v6.2.0
易优cms智能仪器教学设备材料网站源码 v1.6.0
easyPay支付SDK扩展包 v3.2.9
219域名PHP离线网络授权系统 v1.9
DM建站系统家电设备维修服务机构网站模板 v1.22
魔众帮助中心管理系统 v4.2.0
php+MySql已有数据表通用搜索可增删改查 v20221111
DouPHP轻量级外贸商城系统 v1.7 Release 20221109
得推闲时优惠系统 v3.2
Joomla内容管理系统 v4.2.5 正式版
CodeIgniter v4.2.10
DM建站系统花园园艺花艺机构网站模板 v1.3
易优鲜果采摘园农家乐网站源码 v1.6.0
易优活性炭净化炭企业网站源码 v1.6.0
魔众商城系统 v6.5.0
随风PHP百度知道问答自动采集(免维护) v22.6
端口在线扫描器 v1.0.1
易优管道疏通房屋补漏网站源码 v1.6.0
易优精密机器机械制造网站源码 v1.6.0
laravel-bjyblog开源博客系统 v17.0.3
魔众视频管理系统 v4.2.0
酷瓜云课堂 v1.6.0
呆错短视频系统 v1.4.5
魔众知识付费系统 v3.1.0
魔众工具箱系统 v3.2.0
DBErp进销存系统 v1.1 RC 221101
leadshop开源商城 v1.4.15
MixPHP v3.0.27
得推家政派单系统 v2.4
HkCms开源内容管理系统 v2.2.3
得推扫码点餐系统 v3.1
迅睿CMS建站系统(基于MIT开源协议) v4.5.7
八亿新闻-门户版(全自动采集发布) v1.2
精仿今日头条新闻网站(实时自动更新文章) v1.2
飞天下载系统FTDMS v3.1.6
得推地方O2O综合门户系统 v6.8
得推跑腿O2O系统 v3.41
得推外卖O2O平台 v5.1
Smarty模板引擎 v4.2.1
Smarty v3.1.47
帮管客CRM客户管理系统 v5.1.0
API代理版自动发卡平台源码 v1.71
战神引擎对接98码支付充值接口 v2.0
MayiCMS蚂蚁分类信息系统单站版 v6.1
wordpress花团养生专家blossom主题整站源码 v1.2
ClassCMS内容管理系统 v3.5
信呼协同办公OA系统 v2.5.0
S-CMS学校建站系统(含APP小程序) v5.0 bulid20220929
萤火商城 v2.0.6 主商城端
YYC松鼠短视频系统 v5.1.2
162100网址导航3号 v9.4.4
魔众SCRM私域运营平台 v3.9.0
wordpress企业外贸网站主题blocksy v1.2
A3Mall开源商城系统 v2.1.4
b2evolution博客系统 v7.2.5
wordpress企业外贸网站主题avril v1.2
呆错网址导航系统 v1.9.8
dmandwp企业站 v2022.9
Kodexplorer可道云 v4.49
乐得同城优惠券系统 v2.3.5
hkcms多语言响应式黄色主题完整源码 v1.0.0
ShopWind多用户商城系统 v3.4.3
网钛IDC云管理代理系统(idcCMS) v1.20
盛筑OA-CRM客户管理系统 v1.0.1
网钛CMS PHP版 v6.62
自适应各终端懒人网址导航源码 v3.9
全民影院 v1.0
ShirneCMS后台管理系统 v1.2.1
swiftadmin框架 v1.1.3
轻博客-有趣的朋友圈 v.1.0.20
汉潮社交电商系统 v2.5
汉潮社区团购系统 v2.5
DooTask开源在线项目任务管理工具 v0.10.5
MoChat企业微信SCRM系统 v1.1.7
NXCRM客户管理系统 v3.2.9
hkcms双语言响应式科技类通用模板 v1.0.0
DiYunCMS(帝云CMS) v4.5.6
得推在线课程系统 v2.0
DSESN社区团购开源商城源码 v3.0.0
Layui开发的简约URL图床 v1.3
网展企业网站系统蓝色风格 v8.0
米酷cms v7.4.4
得推中秋博饼系统 v1.0
YHCMS(英皇CMS影视系统) v1.3.0
简单记JDJ v2.0
Jshop小程序商城 v2.8.0
semcms外贸网站php版 v4.2
一鱼留言本 v2.0
友邻phpB2B电子商务系统 v7.0
CMSimple v5.8
环保节能智能空气净化器类网站模板(带手机版) v1.4.2
PESCMS DOC文档管理系统 v2.0.7
响应式民宿景区旅游类网站模板 v1.4.2
旅游住宿农家乐类网站模板(带手机端) v1.4.2
培训招生教育类网站模板(响应式) v1.4.2
企业管理咨询培训类网站模板(响应式) v1.4.2
农业蔬菜配送食品类网站模板(带手机版) v1.4.2
Fresns社交网络服务软件 v1.6.0
红色大气婚庆婚礼策划公司网站模板(带手机端) v1.4.2
HadSky轻论坛 v7.11.8
绿色水果蔬菜类模板(带手机端) v1.4.2
绿色健美瑜伽美容类网站模板(带手机端) v1.4.2
cqcms红色新闻资讯发布系统(pc+wap) v2.9
响应式园林景观设计公司网站系统 v1.5.8
IPAM IP地址管理系统 v1.5.0
得推人才招聘系统 v2.1
代理记账财务注册公司类模板(带手机版) v1.4.2
响应式黑色展台设计整站模板 v1.4.2
cqcms蓝色通用企业网站源码(带手机端) v2.9
易优CMS陶瓷建材网站源码 v1.5.8
Psky企业网站系统 v1.3
QCMS企业建站系统 v6.0.1
得推物品回收系统 v1.1
Eyoucms品牌咖啡茶饮网站管理系统 v1.5.8
响应式工商联合会总商会类网站模板 v1.4.2

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。

基于Python采集136个PHP源码相关推荐

  1. 分享Python采集99个VB源码,总有一款适合您

    分享Python采集99个VB源码,总有一款适合您 Python采集的99个VB源码下载链接:https://pan.baidu.com/s/1Ljs41rWn_WxvGqFWCkmGsA?pwd=1 ...

  2. 分享Python采集77个VB源码,总有一款适合您

    分享Python采集77个VB源码,总有一款适合您 Python采集的77个VB源码下载链接:https://pan.baidu.com/s/15jH2rxm5RXt7g9uIUFxYhA?pwd=2 ...

  3. 基于python高仿探迹源码

    基于python实现探迹SCRM 最近几年市面上出现了很多大数据应用的产品,前面出现天眼查.企查查.企信宝等工商信息应用的saas产品,最近工商信息的应用由查询企业 转化为查客户了,所以又出现了探迹. ...

  4. 基于Python的超市管理系统毕业设计源码111042

    目  录 摘要 1 绪论 1.1研究背景 1.2研究现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2基于Python的 超市管理系统 系统分析 2.1 可行性分析 2.2 系统流程分析 2 ...

  5. 基于python的家政管理系统毕业设计源码071111

    目  录 摘要 1 绪论 1.1开发意义 1.2研究现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2基于Python的 家政管理系统 系统分析 2.1 可行性分析 2.2 系统流程分析 2 ...

  6. 计算机毕业设计django基于python租房系统-房屋租赁系统(源码+系统+mysql数据库+Lw文档)

    项目介绍 在各学校的教学过程中,租房系统是一项非常重要的事情.随着计算机多媒体技术的发展和网络的普及.采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合 ...

  7. 计算机毕业设计django基于python在线古诗词学习系统(源码+系统+mysql数据库+Lw文档)

    项目介绍 在各学校的教学过程中,在线古诗词学习系统是一项非常重要的事情.随着计算机多媒体技术的发展和网络的普及.采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建 ...

  8. 计算机毕业设计django基于python平面地图监控系统(源码+系统+mysql数据库+Lw文档)

    项目介绍 在网络越来越发达的今天,监控软件也越来越多.监控程序已经成为人们日常网络生活必不可少的程序.老人小孩自己,没有时间陪伴,我们需要监控,厂区操作间,我们可以通过监控查看自己所需要的信息,本论文 ...

  9. 计算机毕业设计django基于python的宠物分享网站(源码+系统+mysql数据库+Lw文档)

    项目介绍 本论文主要论述了如何使用Python技术开发一个宠物分享网站,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述宠物分享网站的 ...

最新文章

  1. 复杂多变场景下的Groovy脚本引擎实战
  2. 【Android View绘制体系】requestLayout
  3. 用python制作信贷审批监测表
  4. Selenium实例1-自动登录小米社区并获取主题帖
  5. Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略
  6. 解决:EXCEL复制粘贴,精度丢失
  7. oracle 根据值不同具有不同的搜索条件_在Navicat Premium中执行数据库范围内的搜索...
  8. mysql出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'如何解决?
  9. telnet不能用,提示:-bash: telnet: command not found
  10. AJAX, callback,promise and generator
  11. 一个近乎完美基于Dubbo的微服务改造实践
  12. 毕业设计-JavaWeb项目《图书馆借阅管理系统》-附源码
  13. win10 最新版1803 1809打不开xps文件找不到xps查看器的解决办法
  14. C++实现模板方法模式--问卷调查实战
  15. 【ARM嵌入式】——多寄存器寻址
  16. 自学单片机是否先学c语言,学习单片机一定要先学好C语言再去学单片机吗
  17. 统信(UOS)虚拟机网络设置
  18. 将计算机设置成交换机主机,如何将路由器变成交换机功能 路由器变成交换机运用方式介绍【详解】...
  19. 领取1024节日勋章(程序员必看)
  20. 无线射频专题《协议类,IEEE 802.11/802.11b/802.11a/802.11g/802.11n/802.11ac标准简介》

热门文章

  1. springboot定时发送短信_Spring Boot 定时任务
  2. 虚拟机大剑服务器,《大剑》4日临界公测 Hold不住的火爆场面
  3. 修改Intellij IDEA中@author变量user内容
  4. Fortran学习笔记(6)
  5. 《Spring in action (5th edition)》Chapter 6 --Creating REST services 重点记录
  6. 频谱分析_频谱分析仪中RBW和VBW的区别
  7. 程序人生 - 2025年社保卡将覆盖全国
  8. 社保卡和医保卡的区别
  9. 求生之路2丫蛋服务器修改名字,求生之路2局域网怎么改名字
  10. js 下载excel