采集网页链接
Ⅰ 如何批量提取网页链接地址
可以网络搜索下,lmcjl在线工具,里面有一个可以提取全站链接地址的在线工具,无需下载。你可以试试。
Ⅱ 八爪鱼采集器采集网页多个链接求指点 谢谢
步骤:
建立一个循环点击的列表:右键点击页面中的中第一个宝贝,选择创建一个列表,将其添加到列表中,选择继续添加元素,再点击另外一个宝贝,页面中的所有宝贝将会被添加到列表中,最后点击完成列表创建就可以了。
提取页面内宝贝的链接和标题:完成点击列表的创建后,左侧会生成的一个循环点击框,
点击框里的点击元素,进入宝贝的详情页,右键点击想要提取的内容,网页的标题和链接在右侧的操作框左下角可以添加。
备注:不知道怎么创建规则的可以到八爪鱼的规则市场下载现成的采集规则就可以进行采集了
Ⅲ 怎么采集网页中所有的我想要的视频链接
八爪鱼可以批量采集网页中视频的下载地址;再使用网页视频下载器下载视频。
网页中视频url采集
创建翻页循环
进入采集规则设置界面,将视频网站的URL输入到地址栏,如图点击右侧的按钮,
在八爪鱼采集器的内置浏览器中打开该网页
将视频URL导出后,使用视频URL批量下载工具将视频下载出来就完成了。
Ⅳ ASP采集,如何采集一个网页里 其它的连接的网页的内容。
输出显示函数即可,也可以将变量存入数据库,这只是一个例子,具体其它功能你举一反三,循环以下即可。
response.write Showipinfo("202.29.90.9")
Function Showipinfo(ip)
'显示IP地址具体地址 参考IP138数据库
Dim urls,str,showipinfos
urls="http://www.ip138.com/ips138.asp?ip="&ip&"&action=2"
str =getHTTPPage(urls)
Showipinfo=strcut(str,"<ul class=""ul1"">","</ul>",2) '截取IP地址来源
showipinfos = Replace(Showipinfo,"本站主数据:","1、")
Showipinfo = Replace(showipinfos,"参考数据一:","2、")
End Function
'****************************************
'
'函数名:GetHttpPage(url) 2011-5-17 xuyang
'功 能:ASP采集网页内容 GB2312 和 UTF-8 通用
'参 数:url地址
'****************************************
Function GetHttpPage(url)
Dim ResStr, ResBody, PageCode
If IsNull(url) = True Or url = "False" Then
GetHttpPage = ""
Exit Function
End If
Dim Http, sStartTime
Set Http = Server.CreateObject("MSXML2.XMLHTTP")
With Http
.Open "GET", url, False
.Send
End With
'Http.open "GET", url, False
'Http.Send (Null)
sStartTime = Now
On Error Resume Next
If Http.Status <> 200 Then
Set Http = Nothing
GetHttpPage = ""
Exit Function
End If
Do While Http.ReadyState <> 4
If DateDiff("s", sStartTime, Now) > 10 Then
GetHttpPage = ""
Exit Function
End If
Loop
If Http.ReadyState = 4 Then
If Http.Status = 200 Then
PageCode = test(url)
GetHttpPage = bytesToBSTR(Http.responseBody, PageCode)
End If
End If
Set Http = Nothing
If Err.Number <> 0 Then
Err.Clear
End If
End Function
Function bytesToBSTR(body, Cset)
Dim Objstream
Set Objstream = CreateObject("adodb.stream")
Objstream.Type = 1
Objstream.Mode = 3
Objstream.Open
Objstream.write body
Objstream.position = 0
Objstream.Type = 2
Objstream.Charset = Cset
bytesToBSTR = Objstream.Readtext
Objstream.Close
Set Objstream = Nothing
End Function
Function test(sUrl)
Dim ox
Set ox = server.CreateObject("msxml2.xmlhttp")
ox.Open "get", sUrl, False
ox.Send
test = charsetOf(ox.responseBody)
End Function
Function charsetOf(bstr)
Dim p, c, r
If InStrB(bstr, ChrB(0)) > 0 Then
charsetOf = "unicode"
Exit Function
End If
c = s2b("charset=")
p = InStrB(1, bstr, c, 1)
If p > 0 Then
c = b2s(MidB(bstr, p + LenB(c), 20))
Set r = New RegExp
r.Pattern = "^[’""]?([-\w]+)"
Set c = r.Execute(c)
If c.Count > 0 Then
charsetOf = LCase(c(0).SubMatches(0))
Exit Function
End If
End If
Dim n, ucsOnly, ret
ucsOnly = False
n = LenB(bstr)
For p = 1 To n
c = AscB(MidB(bstr, p, 1))
If c And &H80 Then Exit For
If c < &H20 Then
If c <> &HD And c <> &HA And c <> &H9 Then
ucsOnly = True
Exit For
End If
End If
Next
If p > n Then
ret = "ascii"
ElseIf Not ucsOnly Then
If isUtf8(bstr, p, n) Then
ret = "utf-8"
ElseIf isGbk(bstr, p, n) Then
ret = "GB2312"
End If
End If
If IsEmpty(ret) Then
If isUnicode(bstr, p, n) Then
charsetOf = "unicode"
Else
charsetOf = "unknown"
End If
Else
charsetOf = ret
End If
End Function
Function s2b(str)
Dim r, i
For i = 1 To Len(str)
r = r + ChrB(Asc(Mid(str, i, 1)) And &HFF)
Next
s2b = r
End Function
Function b2s(bs)
Dim r, i
For i = 1 To LenB(bs)
r = r + Chr(AscB(MidB(bs, i, 1)))
Next
b2s = r
End Function
Function isUtf8(bs, start, Length)
isUtf8 = True
Dim p, e, c
e = False
For p = start To Length
c = AscB(MidB(bs, p, 1))
If c And &H80 Then
If c And &HE0 = &HC0 Then
If p = Length Then
e = True
Else
p = p + 1
If AscB(MidB(bs, p, 1)) And &H30 <> &HC0 Then e = True
End If
ElseIf c And &HF0 = &HE0 Then
If p = Length Or p = Length - 1 Then
e = True
Else
p = p + 2
If AscB(MidB(bs, p - 1, 1)) And &H30 <> &HC0 Then
e = True
ElseIf AscB(MidB(bs, p, 1)) And &H30 <> &HC0 Then
e = True
End If
End If
Else
e = True
End If
End If
If e Then
isUtf8 = False
Exit Function
End If
Next
End Function
Function isGbk(bs, start, Length)
isGbk = True
Dim p, e, c
e = False
For p = start To Length
c = AscB(MidB(bs, p, 1))
If c And &H80 Then
If p = Length Then
e = True
Else
p = p + 1
If (AscB(MidB(bs, p, 1)) And &H80) = 0 Then e = True
End If
End If
If e Then
isGbk = False
Exit Function
End If
Next
End Function
Function isUnicode(bs, start, Length)
isUnicode = True
Dim p, c
If start Mod 2 = 0 Then
isUnicode = False
Exit Function
End If
For p = start To Length
c = AscB(MidB(bs, p, 1))
If c And &H80 Then
If p = Length Then
isUnicode = False
Exit Function
Else
p = p + 1
End If
End If
Next
End Function
'截取字符串,1.包括起始和终止字符,2.不包括
Function strCut(strContent,StartStr,EndStr,CutType)
Dim strhtml,S1,S2
strHtml = strContent
On Error Resume Next
Select Case CutType
Case 1
S1 = InStr(strHtml,StartStr)
S2 = InStr(S1,strHtml,EndStr)+Len(EndStr)
Case 2
S1 = InStr(strHtml,StartStr)+Len(StartStr)
S2 = InStr(S1,strHtml,EndStr)
End Select
If Err Then
strCute = "<p align=’center’>没有找到需要的内容。</p>"
Err.Clear
Exit Function
Else
strCut = Mid(strHtml,S1,S2-S1)
End If
End Function
Ⅳ 如何抓取一个网址下的所有页面链接
由于题目是放在【编程语言】栏目下的,但没有指定希望使用哪种编程语言,我选择使用java语言来实现。
在Java中,使用HttpURLConnection即可连接URL,随后可以使用InputStreamReader获取网页内容文本。然后,使用正则表达式解析网页内容文本,找到所有的<a>标签即实现需求。
以下是详细代码:
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassHtmlParser{
/**
*要分析的网页
*/
StringhtmlUrl;
/**
*分析结果
*/
ArrayList<String>hrefList=newArrayList();
/**
*网页编码方式
*/
StringcharSet;
publicHtmlParser(StringhtmlUrl){
//TODO自动生成的构造函数存根
this.htmlUrl=htmlUrl;
}
/**
*获取分析结果
*
*@throwsIOException
*/
publicArrayList<String>getHrefList()throwsIOException{
parser();
returnhrefList;
}
/**
*解析网页链接
*
*@return
*@throwsIOException
*/
privatevoidparser()throwsIOException{
URLurl=newURL(htmlUrl);
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
Stringcontenttype=connection.getContentType();
charSet=getCharset(contenttype);
InputStreamReaderisr=newInputStreamReader(
connection.getInputStream(),charSet);
BufferedReaderbr=newBufferedReader(isr);
Stringstr=null,rs=null;
while((str=br.readLine())!=null){
rs=getHref(str);
if(rs!=null)
hrefList.add(rs);
}
}
/**
*获取网页编码方式
*
*@paramstr
*/
privateStringgetCharset(Stringstr){
Patternpattern=Pattern.compile("charset=.*");
Matchermatcher=pattern.matcher(str);
if(matcher.find())
returnmatcher.group(0).split("charset=")[1];
returnnull;
}
/**
*从一行字符串中读取链接
*
*@return
*/
privateStringgetHref(Stringstr){
Patternpattern=Pattern.compile("<ahref=.*</a>");
Matchermatcher=pattern.matcher(str);
if(matcher.find())
returnmatcher.group(0);
returnnull;
}
publicstaticvoidmain(String[]arg)throwsIOException{
HtmlParsera=newHtmlParser("http://news.163.com/");
ArrayList<String>hrefList=a.getHrefList();
for(inti=0;i<hrefList.size();i++)
System.out.println(hrefList.get(i));
}
}
Ⅵ 怎么采集一个网站的所有链接
下载一个信息采集器,就是站长下载,可以下载整个网站的内容,包括视频,音乐,图片,不过程序类型的就下载不到了,网址的链接肯定会下载到的
Ⅶ 如何提取网页中所有链接
Sitemap 全站链接抓取 URL采集工具 - SEO查
url采集提取