网站seo优化--jsoup 批量分析相关网站 标签,描述,关键词.

因为自己写了一个磁力搜索网站Btgoogle,准备进行优化一下,需要分析其他的网站的优化情况。

Java的Jsoup类库和PHP的一个Simple_html_dom框架具有异曲同工之妙,非常的相像.

比如Jsoup里面doc.select(".classname[:eq()]")Simple_html_dom里面的$html->find(".classname",[eq])都是尽量完整Jquery里面的功能.非常实用.后面对这两个东西准备对比分析一下.对比而言,Jsoup比功能还是强大不少,更加接近JS.

Python

import urllib2
import re
import sys
url= "http://www.*****.com"
req=urllib2.Request(url)
r=urllib2.urlopen(req)
html=r.read()
m = re.search('\<meta name="keywords" content="(.*)"\/\>',html)
print m.group(1)
m = re.search('\<meta name="description" content="(.*)"\/\>',html)
print m.group(1)

简洁的python版,python效率还是很不错的,不过看Jsoup那么方便,就直接用Jsoup

Jsoup

package keyword;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class keyword {
public static void main(String[] args) {
int i=0;
int error1=2;
for(i=0;i<=10;i++){
Document doc = null;
try {
doc = Jsoup.connect("http://www.baidu.com/s?wd=磁力搜索&pn="+i*10).get();
} catch (IOException e) {
e.printStackTrace();
}
Elements url = doc.getElementsByClass("g");
for (Element link : url){
String linktext=link.text().replaceAll("/(.*)","");
linktext="http://"+linktext;
System.out.println("链接:"+linktext);
Document linkin = null;
try {
linkin = Jsoup.connect(linktext).timeout(5000).header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0").get();
} catch (Exception e) {
error1=1;
}
if(error1!=1){
String title = linkin.title();
Elements metas = linkin.head().select("meta");
for (Element meta : metas) {
String content = meta.attr("content");
if ("keywords".equalsIgnoreCase(meta.attr("name"))) {
System.out.println("关键字:"+content);
}
if ("description".equalsIgnoreCase(meta.attr("name"))) {
System.out.println("网站内容描述:"+content);
}
}
Elements keywords = linkin.getElementsByTag("meta");
System.out.println("标题"+title);
}
error1=0;
} }
}
}

这里面也有几个坑:

  • 1.403 错误 ,服务器拒绝访问,这是老生常谈的问题了.模拟浏览器就行了.
  • 2.超时错误,使用timeout(timelength)
  • 3.错误处理,当然如果出现错误,整个程序就会暂停,所以异常处理那段搞搞就行try{..}catch{..}

版权归石头(winipcss@outlook.com)和博客园所有,都拷去那么多了,这一段也拷贝了吧http://www.cnblogs.com/webers/p/4350813.html

网站seo优化--jsoup 批量分析相关网站 标签,描述,关键词.的更多相关文章

  1. 《大型网站SEO优化实践》学习分享

    本文主要内容源自2013年阿里技术嘉年华中阿里巴巴周文君分享<大型网站SEO优化实践>.学习过后,受益匪浅,特作笔记,经常回顾吸收学习. 大型网站SEO的特点&优势&挑战 ...

  2. 【网站管理6】_一个网站SEO优化方案

    首先,前端/页编人员主要负责站内优化,主要从四个方面入手: 第一个,站内结构优化 合理规划站点结构(1.扁平化结构 2.辅助导航.面包屑导航.次导航) 内容页结构设置(最新文章.推荐文章.热门文章.增 ...

  3. 【网站seo优化】SEO优化每天的工作内容是什么?

    [网站seo优化]SEO优化每天的工作内容是什么?从未知的领域来到seo,感到搜索引擎无比神奇,接触seo久了,有每天必做的工作内容,大量的seo从业者,每天的工作内容大同小异,主要做的工作有通过相应 ...

  4. 一个网站SEO优化方案

    首先,前端/页编人员主要负责站内优化,主要从四个方面入手: 第一个,站内结构优化 合理规划站点结构(1.扁平化结构 2.辅助导航.面包屑导航.次导航) 内容页结构设置(最新文章.推荐文章.热门文章.增 ...

  5. 网站SEO优化之添加Sitemap文件。

    Sitemap.xml 故名思意就是站点地图文件,可以指引Google spider 收录相应网页.正确地使用Google Sitemap,可以确保让Google spider 不遗漏网站内的任何页面 ...

  6. 网站SEO优化的方法

    网站SEO优化的方法: 1.url静态化和规范化:url中都去掉了index.php这样的后缀网址形式,目的就是让网站的层级更浅,获得的权重更高 代码中可以使用urlrewrite重写. 2.域名30 ...

  7. 谷歌蜂鸟算法对网站seo优化有何影响

    http://www.wocaoseo.com/thread-89-1-1.html       谷歌在过去三个月里,非常低调的推出了蜂鸟算法,据谷歌技术员表示,此种方法一出,将影响90%网站的排名, ...

  8. 网站SEO优化中内部链接的优化

    重要性:内链有效的优化能够间接的提高某页面的权重达到搜索排名靠前的效果.同时有效的带领搜索引擎蜘蛛对整站进行抓取. 网站头部导航: 这个导航称为'网站主导航',当用户来到网站需要给他们看到的内容.也就 ...

  9. 网站SEO优化问答精选

    1.百度每更新一次,网站的收录就减少很多,但是我每天都增加伪原创的内容啊? 这个问题大多数是因为网站权重导致百度不够重视你:另外就是文章质量度不高,没有可读性或是原创度太低,尽管百度会收录,但是经过一 ...

随机推荐

  1. 111_leetcode_Best Time to Buy and Sell Stock III

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  2. 开启URL伪静态的方法

    ## 开启URL伪静态的方法.txt# 1. 请确认您服务器的类型. ThinkSNS的伪静态规则支持Apache.IIS.Nginx. 2. 请确认您的服务器支持URL Rewrite(可从服务器提 ...

  3. Android 开发第四天

  4. Python之路【第二十三篇】:Django 初探--Django的开发服务器及创建数据库(笔记)

    Django 初探--Django的开发服务器及创建数据库(笔记) 1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django ...

  5. Unity3D 之3D游戏入门Hello world(一)

    这几天开始玩Unity3D 有关3D的内容了,去年开始玩过一段时间的2D制作,不过因为年初找工作,所以放了一段时间, 现在再捡起来发现忘的已经差不多了,只能再从头开始,所以就从3D开始算了.下面是3D ...

  6. ref与out之间的区别整理

    ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递. 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别. 总结起来,他们有如下语法区别: 1.re ...

  7. Help View修复

    好吧,手贱把ProgramData里关于Help View的某些数据删除了 (在任何情况下都不要删除此文件夹中的任何数据).即使卸载后重新安装也出现错误,可以参考的http://social.msdn ...

  8. A题笔记(12)

    No.1466  代码:https://code.csdn.net/snippets/192091 No.1202  代码:https://code.csdn.net/snippets/192110 ...

  9. CentOS 7 安装 Apache PHP MariaDB

    准备篇: 一.配置防火墙,开启80端口.3306端口 CentOS 7 默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl sto ...

  10. Core Canvas–Day1

    绘制 1.坐标系统: canvas的坐标以左上角为原点,如图 可对canvas的坐标系统进行变换,变换的方式有 平移translate 旋转rotate 缩放scale 创建自定义的变换方式,切变 2 ...