分享77个PHP新闻文章源码,总有一款适合您
77个PHP新闻文章源码下载链接:https://pan.baidu.com/s/19COOdLlqOOaZa5AD8vo6wA?pwd=k1v7
提取码:k1v7
Python采集代码下载链接:采集代码.zip - 蓝奏云
我的博客地址:亚丁号-知识付费平台 支付后可见 扫码付费可见
提升PR的文章伪原创系统PHP版
JDCMS1.0.1 简体中文免费开源版
VeryCMS V3.3 繁体中文版 BIG5
VeryCMS V3.3 简体中文 GBK
PHPNovel小说系统 V4.0.6
Lylina Rss 多用户聚合系统
印像新闻系统 V1.0.C PHP版
OKPHP综合社区 V6.32
Breeze文章管理系统 V1.5 Beta
51aspx可拖曳简单新闻系统
PhpArticle V2.2 Build 070817 简体中文版
WordPress V2.21生成Html版及独立插件及修改文件.
爱生活爱健康网程序
喜木连载小说Php版T系统 V1.0
SoSo News Express Pro V2.0.4
Sungel CMS 1.0 正式版 070602
E易网络文章内容网站系统+13套模版后台任换
X新闻系统PHP1.0版
Xsphpnew V1.04
多讯CMS V2.3
EchoArticles V2.0 RC1
美丽心雨CMS V1.13
NAPS V1.0 测试版
XYDW 1.08final(美丽心雨)
飞梦文章系统V1.O版
Webnews大型新闻文章系统
import os
import shutil
import requests
from bs4 import BeautifulSoup
from framework.base.BaseFrame import BaseFrame
from sprider.access.SpriderAccess import SpriderAccess
from sprider.plugin.SpriderTools import SpriderTools
from sprider.plugin.UserAgent import UserAgent
class CNSourceCoder:
base_url = "http://www.downcode.com"
max_pager = 10 # 每页的数量 影响再次采集的起始位置.
word_image_count = 5 # word插入图片数量 同时也是明细采集图片和描述的数量
page_end_number = 0
word_content_list = []
haved_sprider_count = 0 # 已经采集的数量
sprider_detail_index = 0 # 明细方法采集的数量 累加
易采(NeatCollector) V1.1.1 Beta
Asia新闻文章管理系统
9466Article Slime修改版
美丽心雨
菁菁整站程序V1.5正式版隆重推出
冰山信息发布系统(IBAritcle) V1.0 Beta
9466Article文章系统 V1.01 稳定版
心空书网整站程序破解版
菁菁新闻系统 V1.0
ArticleAdmin V1.0(Zend)
ArticleAdmin V1.0
帝国新闻系统 V2.5 测试版
Fusion 新闻系统 V3.6.1 汉化版
太飞新闻管理系统(Tyfee CMS) V2004
OKPHP网站管理+论坛系统套装
INewS V2.7
天地网络--网络学院
安全天使文章发布系统(Sarticle) V1.5 分类版
安全天使文章发布系统(Sarticle) V1.5 无分类版
8nm网站内容管理系统1.01
碧莲单用户版个人文集 V1.0
安全天使文章系统 V1.0
仿榕树下文章系统春节版
AvidNews V1.0
Redeye Articles
SiteWorksPro 5.0 修改版
WebEditPro.V5.0 商业版
雨秋故事站内新闻系统
Articleshow V1.0 完全版
Xplus Lite(网站内容管理系统) V1.0
ArticleShow V1.0 正式版
思诺新闻信息管理系统 V1.0
Zarticle V2.4 Beta1
YmArticleFree(夜猫文章管理系统免费版) V2.0
Iwas V1.0.0
蓝码文本新闻系统
PHP初学者联盟文章管理程序 V0.72全功能测试版
伊风文章(Html)系统
文章管理程序 V0.72 全功能版
def sprider(self,sprider_name,sprider_count,start_number,
pager_number,sprider_type,is_show_browse,root_path,
first_column_name,second_column_name,is_record_db):
"""
http://www.downcode.com/sort/j_1_2_1.shtml
:param sprider_name:
:return:
"""
self.first_folder_name=sprider_type.upper()
self.base_path=root_path
self.first_column_name = first_column_name
self.second_column_name = second_column_name
self.sprider_start_count=start_number
self.is_record_db=is_record_db
BaseFrame().debug("开始采集[源码下载站]" + self.first_folder_name + "源码...")
BaseFrame().right("本次采集参数:sprider_count(采集数量):" + str(sprider_count) + "")
BaseFrame().right("本次采集参数:sprider_name(采集名称):" + sprider_name + "")
sprider_url = self.base_url + "/{0}/{1}_1.shtml".format(self.first_column_name, self.second_column_name)# 根据栏目构建URL
BaseFrame().debug("本次采集参数:sprider_url:" + sprider_url)
self.second_folder_name = str(sprider_count) + "个" + sprider_name # 二级目录也是wordTitle
self.merchant = int(self.sprider_start_count) // int(self.max_pager) + 1 # 起始页码用于效率采集
self.file_path = self.base_path + os.sep + self.first_folder_name + os.sep + self.second_folder_name
BaseFrame().right("本次采集参数:file_path=" + self.file_path + "")
# 浏览器的下载路径
self.down_path = self.base_path + os.sep + self.first_folder_name+ os.sep + self.second_folder_name+ "\\Temp\\"
BaseFrame().right("本次采集参数:down_path=" + self.down_path + "")
# First/PPT/88个动态PPT模板/动态PPT模板
self.save_path = self.base_path + os.sep + self.first_folder_name + os.sep + self.second_folder_name + os.sep + sprider_name
BaseFrame().right("本次采集参数:save_path=" + self.save_path + "")
if os.path.exists(self.down_path) is True:
shutil.rmtree(self.down_path)
if os.path.exists(self.down_path) is False:
os.makedirs(self.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)
response = requests.get(sprider_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
response.encoding = 'gb2312'
soup = BeautifulSoup(response.text, "html5lib")
#print(soup)
element_list = soup.find_all('div', attrs={"class": 'j_text_sort_a'})
page_end_number = 1
page_end_url = ""
page_end_title = soup.find("a", attrs={"title": '最后页'})
page_end_url = page_end_title.get("href")
if page_end_url is None or page_end_url == "":
page_end_number = 1
else:
page_end_number = (page_end_url.split(".shtml")[0].split("_")[3])
self.page_count = self.merchant
while self.page_count <= int(page_end_number): # 翻完停止
try:
if self.page_count == 1:
self.sprider_detail(element_list, page_end_number,sprider_count)
pass
else:
if int(self.haved_sprider_count) == int(sprider_count):
BaseFrame().debug("sprider采集到达数量采集停止...")
BaseFrame().debug("开始写文章...")
SpriderTools.builder_word(self.second_folder_name,
self.word_content_list,
self.file_path,
self.word_image_count,
self.first_folder_name)
SpriderTools.copy_file(self.word_content_list,
self.save_path,
self.second_folder_name,
self.file_path)
SpriderTools.gen_passandtxt(self.second_folder_name, self.word_content_list, self.file_path)
BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
break
next_url = self.base_url + "/{0}/{1}_{2}.shtml".format(self.first_column_name,
self.second_column_name,
self.page_count)
response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
response.encoding = 'gb2312'
soup = BeautifulSoup(response.text, "html5lib")
element_list = soup.find_all('div', attrs={"class": 'j_text_sort_a'})
self.sprider_detail(element_list, page_end_number,sprider_count)
pass
self.page_count = self.page_count + 1 # 页码增加1
except Exception as e:
BaseFrame().error("sprider()执行过程出现错误:" + str(e))
风中的板砖文章管理系统Brick Article Sy
stem(BAS) V1.2 测试版
乌龙主页更新公告板 V1.0
NUCLEUS博客系统中文版
天津大学绿岛文学社文章系统
YmArticle Version 1.0.1 (夜猫文章管理系统)
PKY文章新闻系统(PkyArticle V0.99 B20030211)
Cnphpbb 文章管理
Rarticle 文章管理系统 1.0 Beta
PKY新闻管理-首页更新系统
PKY新闻管理-首页更新系统
风中的板砖文章管理系统Brick Article System(BAS) 1.1测试版
枫 文章管理程序
最后送大家一首诗:
山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。