Java源码

分享77个Java源码,总有一款适合您

下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。

源码下载链接:https://pan.baidu.com/s/1EhB4snvWia5eCztyfiX_2A?pwd=bofo 
提取码:bofo

采集代码下载链接:采集代码.zip - 蓝奏云

import os
import shutil
import time
from time import sleepimport requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inchesfrom framework.base.BaseFrame import BaseFrame
from sprider.business.DownLoad import DownLoad
from sprider.business.SeleniumTools import SeleniumTools
from sprider.business.SpriderTools import SpriderToolsfrom selenium import webdriver
from selenium.webdriver.common.by import By
from sprider.model.SpriderEntity import SpriderEntity
from sprider.access.SpriderAccess import SpriderAccessclass HuaJunCode:base_url =  "https://down.chinaz.com" # 采集的网址save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"sprider_count = 68  # 采集数量sprider_start_count=525# 从第几个序号开始 直接改数量即可 会做除法操作正 正在采集第32页的第16个资源 debugword_content_list = []folder_name = ""page_end_number=0max_pager=16 #每页的数量haved_sprider_count =0  # 已经采集的数量page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"def __init__(self):passdef sprider(self,title_name="NET"):"""采集PHP https://down.chinaz.com/class/572_5_1.htmNET https://down.chinaz.com/class/572_4_1.htmASP https://down.chinaz.com/class/572_3_1.htmPytyhon https://down.chinaz.com/class/604_572_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"elif title_name == "NET":self.folder_name = "NET源码"self.second_column_name = "572_4"elif title_name == "ASP":self.folder_name = "ASP源码"self.second_column_name = "572_3"elif title_name == "Python":self.folder_name = "Python源码"self.second_column_name = "604_572"elif title_name == "JavaScript":self.folder_name = "JavaScript源码"self.second_column_name = "602_572"elif title_name == "Java":self.folder_name = "Java源码"self.second_column_name = "572_517"#first_column_name = title_name # 一级目录second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录self.sprider_type =second_folder_nameself.merchant=int(self.sprider_start_count) //int(self.max_pager)+1 #起始页码用于效率采集self.file_path = self.save_path + os.sep + "Code" + os.sep + first_column_name + os.sep + second_folder_nameself.save_path = self.save_path+ os.sep + "Code" + os.sep+first_column_name+os.sep + second_folder_name+ os.sep + self.folder_nameBaseFrame().debug("开始采集ChinaZCode"+self.folder_name+"...")sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))down_path="D:\\Freedom\\Sprider\\ChinaZ\\Code\\"+first_column_name+"\\"+second_folder_name+"\\Temp\\"if os.path.exists(down_path) is True:shutil.rmtree(down_path)if os.path.exists(down_path) is False:os.makedirs(down_path)if os.path.exists(self.save_path ) is True:shutil.rmtree(self.save_path )if os.path.exists(self.save_path ) is False:os.makedirs(self.save_path )chrome_options = webdriver.ChromeOptions()diy_prefs ={'profile.default_content_settings.popups': 0,'download.default_directory':'{0}'.format(down_path)}# 添加路径到selenium配置中chrome_options.add_experimental_option('prefs', diy_prefs)chrome_options.add_argument('--headless') #隐藏浏览器# 实例化chrome浏览器时,关联忽略证书错误driver = webdriver.Chrome(options=chrome_options)driver.set_window_size(1280, 800)  # 分辨率 1280*800# driver.get方法将定位在给定的URL的网页,get接受url可以是任何网址,此处以百度为例driver.get(sprider_url)# content = driver.page_source# print(content)div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容element_list = div_elem.find_elements(By.CLASS_NAME, 'item')laster_pager_ul = driver.find_element(By.CLASS_NAME, "el-pager")laster_pager_li =laster_pager_ul.find_elements(By.CLASS_NAME, 'number')laster_pager_url = laster_pager_li[len(laster_pager_li) - 1]page_end_number = int(laster_pager_url.text)self.page_count=self.merchantwhile self.page_count <= int(page_end_number):  # 翻完停止try:if self.page_count == 1:self.sprider_detail(driver,element_list,self.page_count,page_end_number,down_path)passelse: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文件和下载文件!")break#(self.base_url + "/sort/{0}/{1}/".format(url_index, self.page_count))#http://soft.onlinedown.net/sort/177/2/next_url = self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name, self.page_count)driver.get(next_url)div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容element_list = div_elem.find_elements(By.CLASS_NAME, 'item')self.sprider_detail( driver, element_list, self.page_count, page_end_number, down_path)pass#print(self.page_count)self.page_count = self.page_count + 1  # 页码增加1except Exception as e:print("sprider()执行过程出现错误:" + str(e))sleep(1)def sprider_detail(self, driver,element_list,page_count,max_page,down_path):"""采集明细页面:param driver::param element_list::param page_count::param max_page::param down_path::return:"""index = 0element_array=[]element_length=len(element_list)for element in element_list:url_A_obj = element.find_element(By.CLASS_NAME,  'name-text')next_url = url_A_obj.get_attribute("href")coder_title = url_A_obj.get_attribute("title")e=coder_title+"$"+ next_urlelement_array.append(e)passif int(self.page_count) == int(self.merchant):self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)index=self.sprider_start_indexwhile index < element_length:if os.path.exists(down_path) is False:os.makedirs(down_path)if self.haved_sprider_count == self.sprider_count:BaseFrame().debug("采集到达数量采集停止...")break#element = element_list[index]element=element_array[index]time.sleep(1)index = index + 1sprider_info="正在采集第"+str(page_count)+"页的第"+str(index)+"个资源,共"+str(max_page)+"页资源"BaseFrame().debug(sprider_info)next_url=element.split("$")[1]coder_title=element.split("$")[0]# next_url = element.find_element(By.TAG_NAME, 'a').get_attribute("href")# coder_title =element.find_element(By.TAG_NAME, 'img').get_attribute("title")driver.get(next_url) # 请求明细页面try: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 = self.sprider_typeif SpriderAccess().query_sprider_entity_by_urlandindex(next_url, str(index)) is None:SpriderAccess().save_sprider(codeEntity)else:BaseFrame().debug(coder_title+next_url + "数据采集过因此跳过")continueif SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "download-item") == 3:driver.back()BaseFrame().debug(coder_title+"不存在源码是soft因此跳过哦....")continueprint("准备点击下载按钮...")driver.find_element(By.CLASS_NAME, "download-item").click() #下载源码result,message=SpriderTools.judge_file_exist(True,240,1,down_path,"zip|rar|gz|tgz")#判断源码if result is True: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) + "个")time.sleep(1)driver.back()coder_title = str(coder_title).replace("/", "") #去掉windows不识别的字符files = os.listdir(down_path)srcFile = down_path + os.sep + files[0]file_ext = os.path.splitext(srcFile)[-1]dstFile = down_path + os.sep + coder_title + file_extos.rename(srcFile, dstFile)srcFile = dstFiledstFile = self.save_path + os.sep + coder_title + file_extshutil.move(srcFile, dstFile)  # 移动文件else:BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待70秒...")time.sleep(70)#shutil.rmtree(down_path) #如果没下载完是无法删除的#使用数组append记录文件名字 移动的时候过滤passexcept Exception as e:#shutil.rmtree(down_path)BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))#driver.get(sprider_url)#driver.quit()if(int(page_count)==int(max_page)):self.builder_word(self.folder_name,self.save_path,self.word_content_list)BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")

jspgou网店系统 v6.1.1 店中店版
OpenMeetings视频会议系统 v4.0.8
MongooseJS v5.4.17
朋也社区 v5.1.0
TinyMCE(可视化HTML编辑器) v5 RC2
Java 开源博客 Solo v2.9.8
OrientDB(基于Java的文档数据库) v3.0.13 社区版
JEESNS开源社交问答知识付费系统 v1.4.2
java建站系统 v1.2
ZTuo数字资产交易平台 v1.0
云企采电子采购平台 v2.0
Symphony社区平台 v3.4.4
JeeWx 捷微微信管家平台 v4.1
Guns后台管理系统 v5.1 经典版
HTML5模板引擎 Thymeleaf v3.0.10
双鱼林JSP商品进销存系统 v1.0
Akaxin v0.5.4
NewStarBlog博客系统 v1.0
Java EasyCms v2.0
E购-新零售系统 v1.0
Java轻量级CMS-天梯 v1.0
java开源论坛jeebbs v5.1 安装包
java开源论坛jeebbs v5.1 源码包
QQ 聊天机器人小薇 v2.2.2
团队CMS网站 v1.0
双鱼林SSM_EasyUI公司员工管理系统 v1.0
NKeditor在线富文本编辑器 v5.0.1
pageoffice for Java v4.0 免费试用版
Java后台管理系统(rongcheng-cms) v3.2.1
javaee论坛源码 v2.1
JFinal v3.2
双鱼林SSM图书管理系统 v1.0
防js/sql注入简易工具 v1.1
ProjectForge 基于Web的项目管理 v6.14.0
JSH_ERP开源进销存软件 v1.0.2
云信短信接口示例demo v1.0
云教务 v1.0
Java博客系统yijavaBlog v1.0.0
因酷开源在线网校系统 v2.0.6
WCP知识管理系统 v3.2.1
MinibarCMS小型酒吧在线管理系统 v2
fastweixin微信公众平台服务器 v1.3.14
国产java类cms v3.0.161109
MiniAppStore小程序应用市场分发平台 v1.0 正式版
在线租车服务系统 v2.0
jsp探针 v2016
凌夕网络QQ业务自助下单平台 v3.5
CKFinder 文件管理器 v2.6.2.1 for java
在线繁体字转换器 v1.0
双鱼林SSH2_EasyUI图书管理系统 v1.0
城市移动营销CMS v1.0.0
roncoo-pay(龙果)互联网支付系统 v0.0.4
淘特站内搜索引擎 v5.5
Lerx 全站CMS v3.0
云通付网站支付系统(JAVA版) v1.0
离线任务平台 v1.0
信通购物网Infocomhop v1.6 bulid0522
信通商务网Infocomb2b v1.6
belog博客程序 v1.1
javapms门户管理系统 v1.4 beta
百度编辑器UEditor JSP版 v1.4.3.2
正好p2p网贷系统 v2.0
Kunagi项目管理工具 v0.26.2
B2C网站管理系统购物网 v1.5
Web爬取工具Anthelion v1.0
短信接口 v2.1
凌夕网络QQ业务自助下单平台 v1.1.0
s2m企业级整站系统 v4.0.0
MS-MCMS内容管理系统 v4.5.2
s2mBlog 免费博客平台 v3.2.0
B3LOG Solo v1.0.0 for MySQL
凌夕卡密微商城 v1.0.1
仿阿里百秀最新模板 v0.02
网贷计算器js绿色版 v1.12
jQuery弹出层插件fDialog v1.0
冷风网聊天室 v2.0
冷风网络相册 v3.5

最后送大家一首诗:

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

分享77个Java源码,总有一款适合您相关推荐

  1. 分享77个PHP源码,总有一款适合您

    PHP源码 分享77个PHP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 77个PHP源码下载链接:https://pan.baidu.com/s/1 ...

  2. 分享77个NET源码,总有一款适合您

    NET源码 分享77个NET源码,总有一款适合您 NET源码下载链接:https://pan.baidu.com/s/1vhXwExVAye5YrB77Vxif8Q?pwd=zktx 提取码:zktx ...

  3. 分享52个Java源码,总有一款适合您

    Java源码 分享52个Java源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到. 源码下载链接:https://pan.baidu.c ...

  4. 分享111个Java源码,总有一款适合您

    Java源码 分享111个Java源码,总有一款适合您 源码下载链接:https://pan.baidu.com/s/1fycjYHA7y6r-IH8H7v5XKA?pwd=ag8l  提取码:ag8 ...

  5. 分享106个JS选项卡,总有一款适合您

    分享106个JS选项卡,总有一款适合您 106个JS选项卡下载链接:https://pan.baidu.com/s/1kdRJvTgcuZe_TpzrcnmQDQ?pwd=0k2d  提取码:0k2d ...

  6. 分享77个HTMLCSS源码,总有一款适合您

    HTML&CSS源码 分享77个HTML&CSS源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到. 源码下载链接:htt ...

  7. 分享99个中国风ppt,总有一款适合你

    下载链接:https://pan.baidu.com/s/11kgBoIEvjYbRBP_hrkLJ6A?pwd=xwdt  提取码:xwdt 原文地址:https://www.yadinghao.c ...

  8. 分享71个PHP源代码总有一个是你想要的 分享71个PHP源代码,总有一款适合你

    链接:https://pan.baidu.com/s/1SIjh2tMh7JKTBrOVu4Ms0Q 提取码:39y4 收集整理不容易老铁支持我动力. 下面是文件的名字,我放了一些图片,文章里不是所有 ...

  9. 分享133个ASP源码,总有一款适合您

    ASP源码 分享133个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 133个ASP源码下载链接:https://pan.baidu.com/s ...

最新文章

  1. Teradata推出Vantage on Azure,可实现自助配置、快速部署,提供安全、可扩展的高性能分析
  2. 性能测试Loadrunner与Mysql
  3. 如何安装透明窗口主题Emerald在Ubuntu 13.04/12.10/12.04中-PPA
  4. MySQL中使用LIMIT进行分页的方法
  5. explicit构造函数
  6. python私有成员和保护成员,喜大普奔!Maya 2022来了?!
  7. disabled运用;div,li元素禁用点击事件;防止a标签打开url;禁用click事件,删除onclick
  8. 1071元!苹果上架iPhone 11系列智能电池壳:可充电、支持拍照
  9. T-SQL基础--TOP
  10. 将客户端将IE9强制为IE7
  11. 垃圾回收GC经典算法
  12. Vue基础知识之vue-resource和axios(三)
  13. R语言编写简单的函数
  14. 网络请求分析实战篇(01)—— 爬取amazon搜索栏的关联关键词
  15. 一个简单的搜狗微信公众号案例
  16. steam的游戏服务器在哪个文件夹,使用SteamCMD在Windows上架设Don't Starve Together服务器...
  17. C# WebService 远程服务器返回错误:(500)内部服务器错误
  18. win10此电脑默认7个文件夹(附+ OneDrive、Catch!)隐藏方法
  19. h5页面定位偏移的问题--解答
  20. SIM7600模块固件升级(模块自身升级)

热门文章

  1. airflow重启出现Error: Already running on PID 8254 (or pid file '/root/airflow/airflow-webserver.pid' is
  2. Oracle 11g RAC CRS-4535/ORA-15077
  3. http协议:http协议理解
  4. 软件工程文档编写标准包括哪些内容
  5. 【线性代数复习笔记】同济大学版第三章和第四章 矩阵的初等变换与线性方程组与向量组的线性相关性
  6. Teigha开发读取CAD文字信息出现偏移
  7. 浪漫是浪漫,不浪漫也是浪漫
  8. 【声音 | 华兴资本包凡:未来新经济行业一定靠区块链等技术驱动】
  9. 2020年国家政策高频密集出台,电子合同万业普及
  10. [Unity] 战斗系统学习 9:构建 TPS 框架 4