css去掉标签符号list设置无效

html-css07

css去掉标签符号list设置无效,第1张

出现这个问题的原因:

通常我们都会有一个css-reset初始化所有html的margin:0padding:0的公共样式文件。当margin:0或者padding:0时,如果我们没有设置list-style-position为inside的时候就会出现这种情况。

解决办法:设置 list-style: square inside。或者给 ul 增加margin或者padding的left边距。

1.</?font[^><]*>这个只却掉font标签的, 保留除font以外的所有标签, 如<img><p>等等. 同样的你需要去掉其他标签, 只需要将里面的font换你要去掉的;

2.</?[^/?(img)|(p)][^><]*>这个保留(这里我写的保留了img, p这两个标签)你指定的标签,其他的(包括font)全去掉, 如果你还有其他的标签想保留, 直接在里面加一个 |(xxx);

3.</?[a-zA-Z]+[^><]*>这个表达式可以去掉所有HTML的标签;

4.JAVA代码可以这样写:

public static String delTagsFContent(String content){

String patternTag = "</?[a-zA-Z]+[^><]*>"

String patternBlank = "(^\\s*)|(\\s*$)"

return content.replaceAll(patternTag, "").replaceAll(patternBlank, "")

}

清除所有默认样式的css代码:

html, body, div, span, applet, object, iframe,

h1, h2, h3, h4, h5, h6, p, blockquote, pre,

a, abbr, acronym, address, big, cite, code,

del, dfn, em, font, img, ins, kbd, q, s, samp,

small, strike, strong, sub, sup, tt, var,

初始化代码(清除CSS代码):

ul,li{ padding:0margin:0list-style:none}

解析清除ul li样式代码:

相等于分别对ul和li设置padding:0margin:0list-style:none;

padding:0 —— 设置内补白(对象内间距)为0

margin:0 —— 设置对象外间距为0

list-style:none —— 去除自带无序圆点

HTML/javascript

引用外部文件中的js脚本,

<script type="text/javascript" src="ext.js"></script>也可以象下面这样写,language不是必要的,但是推荐上面的写法;

<script language="javascript" type="text/javascript" src="ext.js"></script>

页面内引用:

<script type="text/javascript">//<![CDATA[var x = 0function fn(args) { //...} //]]></script>加上“//<![CDATA[” 和 “//]]>”是为了兼容XHTML,是推荐的写法,HTML时代一般用“<!--”和“//-->”

在一些HTML控件的事件属性中使用(一般事件为onxxx,如onmouseover,onclick,onchange)

<body onload="alert('loaded')"><input type="text" name="username" onclick="alert(this.value)" />在一些HTML控件的非事件属性中使用(注意:一定要加javascript:)

<a href="javascript:void(0)" onclick="alert(this.innerText)">my blog:http://blog.csdn.net/kimsoft</a>

import cn.edu.hfut.dmic.webcollector.model.CrawlDatums

import cn.edu.hfut.dmic.webcollector.model.Page

import cn.edu.hfut.dmic.webcollector.plugin.berkeley.BreadthCrawler

public class TutorialCrawler extends BreadthCrawler {

public TutorialCrawler(String crawlPath, boolean autoParse) {

super(crawlPath, autoParse)

}

/*

可以往next中添加希望后续爬取的任务,任务可以是URL或者CrawlDatum

爬虫不会重复爬取任务,从2.20版之后,爬虫根据CrawlDatum的key去重,而不是URL

因此如果希望重复爬取某个URL,只要将CrawlDatum的key设置为一个历史中不存在的值即可

例如增量爬取,可以使用 爬取时间+URL作为key。

新版本中,可以直接通过 page.select(css选择器)方法来抽取网页中的信息,等价于

page.getDoc().select(css选择器)方法,page.getDoc()获取到的是Jsoup中的

Document对象,细节请参考Jsoup教程

*/

@Override

public void visit(Page page, CrawlDatums next) {

if (page.matchUrl("http://blog.csdn.net/.*/article/details/.*")) {

String title = page.select("div[class=article_title]").first().text()

String author = page.select("div[id=blog_userface]").first().text()

System.out.println("title:" + title + "\tauthor:" + author)

}

}

public static void main(String[] args) throws Exception {

TutorialCrawler crawler = new TutorialCrawler("crawler", true)

crawler.addSeed("http://blog.csdn.net/.*")

crawler.addRegex("http://blog.csdn.net/.*/article/details/.*")

/*可以设置每个线程visit的间隔,这里是毫秒*/

//crawler.setVisitInterval(1000)

/*可以设置http请求重试的间隔,这里是毫秒*/

//crawler.setRetryInterval(1000)

crawler.setThreads(30)

crawler.start(2)

}

}