如何给自己网站添加网站采集插件件

我做了个网站怎么才能让它自动更新新闻?
我做了个网站怎么才能让它自动更新新闻?
我做了个网站怎么才能让它自动更新新闻?
我的意思是:怎么才能让新浪啊,搜狐啊上的新闻添加到我这个网站上来,而且是每天都会更新!
***采集的,也可以有那个小偷插件的。别人更新你的就跟着跟新了
没可能可以自动更新。要不你就把那网而链过来。
集成采集功能,需要定期采集。或者装新浪等新闻代码,不用自己更新了,属于嵌套页那种。
我做了个网站怎么才能让它自动更新新闻?:
集成采集功能,需要定期采集。或者装新浪等新闻代码,不用自己更新了,属于嵌套页那种。
如何在网页中插入一个代码,使自己网页的新闻同其他网页的新闻同不更新:
如何在网页中插入一个代码,使自己网页的新闻同其他网页的新闻同不更新...我想做一个新闻栏目怎么写代码...
如何在自己网站里面让每天的新闻自动更新:
看看有没有集成采集功能,需要定期采集的,或者装新浪等新闻代码,不用自己更新......
如何调用自己网站的新闻发布到自己的另一个网站上并保持二者的同步更新?:
这个也好实现同步更新啊 而且你还是直接调用 只能调用文本的了 这个命令有些麻烦的 尤其是这样不是同一...
我自己做了一个静态的学校网站前台,想添加个后台管理系统 。能更新新闻、留言、报名等的:
你得做一个动态的页面啊,因为要跟数据库交互的,你也可以首页做静态,报名等功能,做成子页。
如何让热点新闻同步更新到网站,比如hao123的新闻热点排行,是自己手动加,还是用程序实现?请教:
程序就可以实现,具体的你可以到百度排行榜看,有开源的。
excel 链接外部数能不能手动更新不让它自动更新:
新闻 网页 贴吧 知道 音乐 图片 视频 地图 百科...excel 链接外部数能不能手动更新不让它...
uc浏览器按搜索输入栏时会出现几条当日新闻,但有时不自动更新,怎么能让它及时更新?:
您好,很高兴为您服务!刚刚姐测试了点击了安卓版最新9.5.0uc浏览器是更新了最新的新闻的哦,您目前...
怎么样吧新网网站的新闻变成自己的而且跟他们同步更新:
你设定一下属性改成自动更新就行了建网站选织梦模板,首选跟版网(最大的织梦模板商城),您可以把织梦模板网:
亲,跟版网是中国最具专业的DEDECMS模板资源提供商!您可以选择或者
DEDECMS插件_智能单页采集插件,快速转载文章
& &以下内容您可能感兴趣: &
其实织梦DEDECMS本身就有一个采集单个网页的功能,不知道大家注意到没有,打开添加文章页面,看看顶部,看到没有,就是这个,织梦DedeCms是相当强大的。
但我发现这个功能还是不够方便,因为这个还是要真对网站写采集规则的,所以就有了这款插件,目的就是在不需要写采集规则的基础上同样能使用这个强大的功能
这插件是怎么样工作的呢?我们有智能分析程序,可以极其智能的分析网页,不需要规则就能识别出内容,怎么样?试试吧!
***方法:
选择正确编码的插件在后台模块上传***即可
注意:***本插件就不能再用规则了,当然,也没必要了
跟版网-专业织梦模板下载平台,转载请注明出处:
& &精心为您推荐: &
& &邀您关注: &
扫描左侧二维码即可在手机端访问此页面
扫描左侧二维码即可关注跟版网官方微信公众号,获取金币模板,还可以免费仿站哦!
扫描左侧二维码即可加入跟版网官方群,免费获取金币资源并可以与其他织梦高手共同交流学习
跟版网率先实现织梦的三网合一网站,从即日起()日,跟版网会陆续免费分享一批金币资源给需要的朋友,关注本站认证官方微信公众账号并回复相应的提取码,系统会自动将下载地址发送给您,同时这些金币资源也会分享在官方的QQ群中,欢迎各位朋友踊跃加入。另外本站后期会每周选择大家比较喜欢的网站仿制,并免费分享给大家,还有免费送金币活动哦!
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
- dede源码分享
售价:16金币
- dede源码分享
售价:20金币
- dede源码分享
售价:40金币
- dede模板分享
售价:12金币
- dede模板分享
售价:10金币
& & & 跟版网竭力打造中国最大的织梦源码和织梦模板商城,我们有一批经验丰富的设计师和程序员,发展五年,跟版网拥有丰富的织梦模板,欢迎您的咨询,我们将竭诚为您提供最优质的服务。
& & & 跟版网织梦源码商城坚持“创意+品质+服务”的高端理念,运用创意设计的理念为您塑造高品质的网络品牌形象。凭借五年的探索和实践,跟版网织梦源码商城拥有一支经验丰富、技术精湛、尽职尽责的网络服务团队。精品网站建设,从跟版网织梦源码商城建站开始。
& & & 跟版网织梦源码和模板可分为两种形式获得,一种是官方源码,另外一种是会员共享源码。两种源码都分为免费和收费两种形式。
& & & 跟版网官方收费源码可通过支付费用获得,具体操作流程可查看网址:。会员共享源码可通过共享模板获取金币下载。如觉得麻烦,可以联系***QQ:进行金币充值,充值后可随意下载。网页可分为信息提供和业务操作类,信息提供如新闻、股票行情之类的网站。业务操作如网上营业厅、OA之类的。当然,也有很多网站同时具有这两种性质,像微博、豆瓣、淘宝这类网站,既提供信息,也实现某些业务。
普通上网方式一般都是手动操作(这个不需要解释:D)。但有时候人工手动操作的方式可能就无法胜任了,如爬取网络上大量数据,实时监测某个页面的变化,批量操作业务(如批量发微博,批量淘宝购物)、刷单等。由于操作量大,而且都是重复的操作,人工操作效率低下,且易出错。这时候就可以使用软件来自动操作了。
本人开发过多个这类软件,有网络爬虫、自动批量操作业务这类的。其中使用到的一个核心功能就是模拟HTTP请求。当然,有时会使用HTTPS协议,而且网站一般需要登陆后才能进一步操作,还有最重要的一点就是弄清楚网站的业务流程,即知道为了实现某个操作该在什么时候向哪个页面以什么方式提交什么数据,最后,要提取数据或知道操作结果,就还需要解析HTML。本文将一一阐述。
本文使用C#语言来展示代码,当然也可以用其它语言实现,原理是一样的。以登陆京东为实例。
模拟HTTP请求
C#模拟HTTP请求需要使用到如下类:
WebRequest
HttpWebRequest
HttpWebResponse
先创建一个请求对象(HttpWebRequest),设置相关的Headers信息后发送请求(如果是POST,还要把表单数据写入网络流),如果目标地址可访问,会得到一个响应对象(HttpWebResponse),从相应对象的网络流中就可读出返回结果。示例代码如下:
String contentType = "application/x-www-form-urlencoded";
String accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-silverlight, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight-2-b1, */*";
String userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0. Safari/537.36";
public String Get(String url, String encode = DEFAULT_ENCODE)
HttpWebRequest request = WebRequest.Create(url) as HttpWebR
InitHttpWebRequestHeaders(request);
request.Method = "GET";
var html = ReadHtml(request, encode);
public String Post(String url, String param, String encode = DEFAULT_ENCODE)
Encoding encoding = System.Text.Encoding.UTF8;
byte[] data = encoding.GetBytes(param);
HttpWebRequest request = WebRequest.Create(url) as HttpWebR
InitHttpWebRequestHeaders(request);
request.Method = "POST";
request.ContentLength = data.L
var outstream = request.GetRequestStream();
outstream.Write(data, 0, data.Length);
var html = ReadHtml(request, encode);
private void InitHttpWebRequestHeaders(HttpWebRequest request)
request.ContentType = contentT
request.Accept =
request.UserAgent = userA
private String ReadHtml(HttpWebRequest request, String encode)
HttpWebResponse response = request.GetResponse() as HttpWebR
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(encode));
String content = reader.ReadToEnd();
reader.Close();
stream.Close();
可以看出,Get和Post方法的代码大部分都相似,所以代码进行了封装,提取了相同代码作为新的函数。
当网站使用https协议时,以上代码就可能会出现以下错误:
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
原因是***错误,用浏览器打开会出现如下页面:
当点击继续前往xxx.xx(不安全)时,就可继续打开网页。在程序中,也只要模拟这一步就可以继续了。C#中只需设置ServicePointManager.ServerCertificateValidationCallback代理,在代理方法中直接返回true就行了。
private HttpWebRequest CreateHttpWebRequest(String url)
HttpWebRequest request;
if (IsHttpsProtocol(url))
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebR
request.ProtocolVersion = HttpVersion.Version10;
request = WebRequest.Create(url) as HttpWebR
return request;
private HttpWebRequest CreateHttpWebRequest(String url)
HttpWebRequest request;
if (IsHttpsProtocol(url))
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebR
request.ProtocolVersion = HttpVersion.Version10;
request = WebRequest.Create(url) as HttpWebR
return request;
这样,就可正常访问https网站了。
记录Cookies实现身份认证
有些网站需要登录才能执行下一步操作,比如在京东购物需要先登录。网站服务器使用session来记录客户端用户,每一个session对应一个用户,而前面的代码每次创建一个请求都会重新建立一个session。即使登录成功,在执行下一步操作由于新创建了一个连接,登录也是无效的。这时就得想办法让服务器认为这一系列的请求来自同一个session。
客户端只有Cookies,为了在下次请求的时候让服务器知道该客户端对应哪个session,Cookies中会有一个记录session ID的记录。所以,只要Cookies相同,对服务器来说就是同一个用户。
这时需要使用到CookieContainer,顾名思义,这就是一个Cookies容器。HttpWebRequest有一个CookieContainer属性。只要把每次请求的Cookies都记录在CookieContainer,下次请求时设置HttpWebRequest的CookieContainer属性,由于Cookies相同,对于服务器来说就是同一个用户了。
public String Get(String url, String encode = DEFAULT_ENCODE)
HttpWebRequest request = WebRequest.Create(url) as HttpWebR
InitHttpWebRequestHeaders(request);
request.Method = "GET";
request.CookieContainer = cookieC
HttpWebResponse response = request.GetResponse() as HttpWebR
foreach (Cookie c in response.Cookies)
cookieContainer.Add(c);
分析调试网站
以上就实现了模拟HTTP请求,当然,最重要的还是分析站。一般的情况都是没有文档、找不到网站开发人员,从一个黑盒子开始探索。分析工具有很多,推荐使用Chrome+插件Advanced Rest Client,Chrome的开发者工具能让我们知道打开一个网页时后台做了哪些操作与请求,Advanced Rest Client可模拟发送请求。
比如在登录京东时,会提交如下数据:
我们还能看到京东的密码居然是明文传输,安全性很让人担心啊!
还能看到返回的数据:
返回的是JSON数据,不过\u8d26这些是什么?其实这是Unicode编码,使用Unicode编码转换工具,即可转换成可读的文字,比如这次返回的结果是:账户名与密码不匹配,请重新输入。
HTTP请求获得的数据一般是HTML格式,有时也可能是Json或XML。需要解析才能提取有用数据。解析HTML的组件有:
。多个平台可用,如Java/C#/Python。很久没用了。
。通过通过XPath来解析HMTL。一直使用。 关于XPath教程,可以看。
本文介绍了开发模拟自动网页操作所需要的技能,从模拟HTTP/HTTPS请求,到Cookies、分析网站、解析HTML。代码旨在说明使用方法,并非完整代码,可能无法直接运行。
本文最早发表于原文链接:
版权声明:自由转载-非商用-保持署名 | Creative Commons BY-NC 4.0
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:22432次
排名:千里之外
原创:45篇
本人 ,博文优先发表在个人独立博客上。
(2)(2)(1)(3)(1)(2)(1)(3)(1)(4)(4)(3)(2)(4)(2)(10)

参考资料

 

随机推荐