首先要清楚http协议信息包含:uri、body和headers等部分;http请求方式有以下几种:
常见的http请求有:get、post和head;在python常用的http网络请求模块随着python版本的不同,大致如下所示:
两者都有的urllib3和requests, 它们不是标准库. urllib3 提供线程安全连接池和文件post支持,与urllib及urllib2的关系不大. requests 自称HTTP for Humans, 使用更简洁方便。
在这里我们只讲解python2.X的http网络请求模块。
经验具体如下所示:
在网络请求中cookie的使用是个很重要的方面,其中保存记录重要请求行为的cookie,可以将使用的cookie保存到本地,可以从本地加载需要的cookie。
创建cookielib.CookieJar对象自动管理Cookie稍繁琐一些,但是一旦创建,可供urllib2创建opener,后续的所有cookie更新和过期删除都是自动处理的。
可用网址:
可用的其它python http请求模块:
u frequests
u grequests
其中frequests和grequests的使用方式相同,其中frequests的稳定性高于grequests;简单使用如下所示:
一般常见的响应结果格式为:
常见的html数据解析方法为:
常见的纯文本解析方法为:
3.3网页正文提取
网页正文提取重要性:
正则表达式可以准确的抽取某一固定格式的页面,但面对形形色色的HTML,使用规则处理难免捉襟见肘。能不能高效、准确的将一个页面的正文抽取出来,并做到在大规模网页范围内通用,这是一个直接关系上层应用的难题。
调研的方案:
JoyHTML的目的是解析HTML文本当中的链接和正文,利用超链接密度法为主要判断依据的标记窗算法,采用DOM树解析模式。
这个Java类库提供算法来探测和删除在一个网页中主文本内容旁多余的重复内容。它已经有提供特殊的策略来处理一些常用的功能如:新闻文章提取。
本算法首次将网页正文抽取问题转化为求页面的行块分布函数,并完全脱离HTML标签。通过线性时间建立行块分布函数图,由此图可以直接高效、准确的定位网页正文。同时采用统计与规则相结合的方法来解决系统的通用性问题。
在这里我们只使用其中cx-extractor和readability;这里对cx-extractor和readability做个对比,如下所示:
cx-extractor使用实例如下图所示:
cx-extractor与readability的对比
建议:
果CMS作为优秀的内容管理系统,因其具备强大的采集功能,使客户可以轻松提取网络信息并展示。然而,在采集过程中,原创性尤须重视。文章将剖析利用该CMS进行采集时,如何实现伪原创,从而保持采集内容的独特性与高品质。
理解苹果CMS采集原理
成功实现伪原创的关键在于对苹果CMS采集原理有透彻了解。苹果CMS采集功能通过获取特定网页的HTML代码,抽取出诸如标题、正文等关键元素,接着按照用户预设规则进行相关处理,以生成最终的内容。为了实现伪原创,在处理阶段需添加一些元素,使采集所得内容具备一定程度的创新性。
实际运用中,可借助调整采集规范和添加处理组件等策略以实现伪原创效果。例如,可以选择性地对原文进行局部置换和添加关键字链接,进而使生成的文本更具新颖性。
修改采集规则
苹果CMS的采撷规则直接影响内容的构架及格式,适当调整其参数便能产生类似原创的结果。譬如,增加一定的随机置换规则至规则库内,使每次所采撷之内容皆异于前次,即便源头无二,所得之文亦呈现丰富多元,从而提升文章的原创度。
此外,利用调整采集规则如部署设定采集频率及挑选合适的采集源等方法可有效降低与其他网站发生的内容重复现象,进一步提高网站信息的独有特性。
使用内容处理插件
除了调整采集规则之外,通过运用苹果CMS丰富的插件库,可实现高质量的文章生成。使用者可按照自身需求选用适当插件并完成相应设置以满足不同需求。
运用诸如内容自动替换等插件,即可对采集信息作出相应处理,将特定词汇或语句转化为同义词或等价表达方式,进而提升内容的多样化;同时,借助关键词链接插件,能在采集内容中自动添加上相应关键词链接,大幅度增强内容的丰富程度与可读性。
结合人工编辑
虽然借助苹果CMS的自动采集与处理能力可在一定程度上实现伪原创效果,然而若期望获得更高原创性,仍需借助人工编辑的专业技能。通过对采集而来的素材加以精细化处理及润色,增加个人鲜明观点及魅力内容,从而使最终呈现出的文章更具特色和吸引力。
在人工编修过程中,遵循采集内容的主题与风格,适度调整以确保内容连贯性与一致性。另外,适量植入独特元素及表达手法,赋予文章更多个性与创意。
不断优化和调整
塑造伪原创并非一日之功,需持续优化与调整。实践中,用户可通过精细化管理采集规则及运用内容处理插件等手段,以满足自身及用户的需求偏好。
通过利用苹果CMS所提供的数据分析能力,我们能精准评估并分析演化出的内容,全面掌握用户的反馈及偏好,据此适时调整收集策略以及内容处理模式,以持续提高内容的品质与创新度。
面临的挑战与解决方案
在执行假拟原创的任务时,面临了一系列挑战与难题。例如,如何保证伪原创内容的自然流畅以及可阅读性;如何防止过度编辑造成的文章信息失实等等问题。
为了应对上述困难,高效可行之策略包括运用AI技术进行自然语言处理,确保内容的自然流畅与易读;此外,也应强化采编源头的筛选与评估机制,精选优质资源加以收集,从根本上保障内容品质及原创性。
总结
对苹果CMS采集与伪原创的研究表明,伪原创并非难事,只需掌握相应策略及技能便可胜任。关键在于了解采集机理,精确设置采集规则,利用内容处理插件,辅以人工编辑及持续改善,以提升文章质量与独特性。坚信在不久未来,我们将更易于创造出高品质的伪原创内容,以满足用户对于优质内容服务需求。
关于此议题,我邀请您参与思考:您如何看待伪原创对内容创新所产生的影响?期待您的宝贵意见!
coding=utf-8
import urllib2
import re
import os
#this function from internet @littlebai
#去掉特征字符串内的html操作符
def filter_tags(htmlstr):
re_cdata=re.compile('//<!\[CDATA\[[^>]*//\]\]>',re.I) #匹配CDATA
re_script=re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>',re.I)#Script
re_style=re.compile('<\s*style[^>]*>[^<]*<\s*/\s*style\s*>',re.I)#style
re_p=re.compile('<P\s*?/?>')#处理换行
re_h=re.compile('</?\w+[^>]*>')#HTML标签
re_comment=re.compile('<!--[^>]*-->')#HTML注释
s=re_cdata.sub('',htmlstr)#去掉CDATA
s=re_script.sub('',s) #去掉SCRIPT
s=re_style.sub('',s)#去掉style
s=re_p.sub('\r\n',s)#将<p>转换为换行
s=re_h.sub('',s) #去掉HTML 标签
s=re_comment.sub('',s)#去掉HTML注释
blank_line=re.compile('\n+')#去掉多余的空行
s=blank_line.sub('\n',s)
return s
#设置下载文件的保存位置
path = "E:\news.qq.com\a\20120506\"
#匹配url规则
rege = re.compile(r"/a/\d{8}/\d{6}.htm")
#从主页获得所有存在的url链接的后半部分并排序
urlcontent = urllib2.urlopen('http://news.qq.com/a/20120506/index.htm').read()
get_url = rege.findall(urlcontent)
get_url.sort()
#根据所获得的url数量建立循环遍历所有url链接
for i in xrange(0,len(get_url)):
get_url[i] = "http://news.qq.com"+get_url[i]#完整链接
#异常处理:部分url链接打开延时或者无法打开则跳过此次循环
try:#异常跳出
sub_web = urllib2.urlopen(get_url[i]).read()#打开完整url链接,获取内容
except urllib2.URLError, e:
print get_url[i][-10:-4]+' Failed'
continue
#下面开始内容操作
re_keyt = "<h1>.+</h1>"#获取标题,此处的标题不含腾讯新闻的后缀比较方便
title = re.findall(re_keyt,sub_web)#去掉标题左右的html标签
re_keyc = re.compile("<div id=\"Cnt-Main-Article-QQ\".*</P></div>\n</div>",re.DOTALL)#匹配正文内容的正则(个别页面无法获得,见if块)
content = re_keyc.findall(sub_web)#获得正文内容
#个别页面由于有视频或其他的无法匹配正文内容的正则表达式,所以无法获得内容,应给与过滤
if len(title)==0 or len(content)==0:
continue
re_content = filter_tags(title[0]+"\r\n"+content[0])#将标题和正文放到一起并去除html标签代码
w=file(path+get_url[i][-10:-4]+'.txt','w')#根据页面的文件名建立txt文件,并打开为写入方式
w.write(re_content)#写入获得的去除了html标签代码的标题和正文
w.close()#关闭文件
#命令行输出提示文件下载进度
print 'Completed the'+str(i+1)+" -Total "+str(len(get_url))+" THE "+get_url[i][-10:]
#完成所有url链接的下载
print "Fuck The Stupied Guy!!!!"
#退出脚本
exit()
*请认真填写需求信息,我们会在24小时内与您取得联系。