1. 采集任务描述。
利用python采集 下的网页(北京邮电大学校主页)
2. 处理思路或流程。
1) 指定采集网页的url
2) 设置网络连接。
3) 等待dns解析。
4) 获取指定网页的内容。
5) 将获得的网页内容保存到本地。
6) 获取指定页面上的url连接。
7) 重复步骤(1)~(6)
3. 操作步骤与过程(可解图)
4. 采集结果分析。
部分网页显示结果:
结果分析:利用beyond compare对比采集到的网页内容和网页源文件可发现两者之间完全相同。由于采集时并没有抓取相关的css样式文件,所以采集下来的网页与原网页显示格式不同。
5. 总结。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上**网页,是搜索引擎的重要组成。
网络爬虫的基本工作流程如下:
从一个或若干初始网页的url开始,获得初始网页上的url;
将这些url放入待抓取url队列;
从待抓取url队列中取出待抓取在url,解析dns,并且得到主机的ip,并将url对应的网页**下来。此外,将这些url放进已抓取url队列。
分析已抓取url队列中的url,分析其中的其他url,并且将url放入待抓取url队列,从而进入下一个循环,直到满足系统的一定停止条件。
6. 附录:程序源码。
#!/usr/bin/env python
#filename :
#-*-coding: utf-8 -*
import os
from import join,exists
import urllib2
import sgmllib
#function getrequest
def getrequest(url):
request =
'user-agent', mozilla/4.0 (compatible; msie 8.0; windows nt 6.0)')
try:try:
response =
return
except exception,e:
print "error %s %s" %url,e)
return none
except
#function s**etofile
def s**etofile(filepath,filename,content):
with open(join(filepath,filename),'wb') as f:
#function getfilename
def getfilename(url):
url = 1)[1]
url = 2)[2]
url = 1)[0]
return url+'.html'
class linksparser(
urls =
def do_a(self,attrs):
for name,value in attrs:
if name ==href' and value not in
print 'value = value
if 'http'):
print 'value = value
else :
continue
return
if __name__ main__'
p = linksparser()
f = value =
for url in
htmlstr =getrequest(url)
s**etofile('f:\program files\python26\code\page',getfilename(url),htmlstr)
Web技术及应用 期末作业
web技术及应用 期末作业。一 请从下列五个主题中选一个,利用本课程所学技术制作一个主题 1 制作一个 中国载人航天工程的发展历程 的主题 2 制作一个 美好的高中生活 的主题 关于高中母校和高中同学 3 制作一个 辉煌的历程 华北电力大学 的主题 4 制作一个 我可爱的家乡 的主题 家乡的历史 人...
北邮《Web技术》阶段作业汇总
web技术 作业。1.以下断言错误的是 a a.在web服务器和cgi程序的通信中,web服务器只能向用于通信的相关环境变量写数据。2.以下断言正确的是 b 程序可以使用任何程序设计语言编写。3.下面xml元素定义正确的是 d d.toms 4.下面xml元素定义正确的是 a a.王一。5.表单提交...
Web技术基础大作业报告
学院 计算机学院。姓名 学号 主要分以下几个版块 1.主页版块 2.登录版块。3.注册板块。4.个人介绍板块。5.分享思维模块。6.发现思维模块。7.我的思维模块。8.搜索模块。9.帮助模块。摘要 web引申为 web编程基础大作业报告。学院 计算机学院。姓名 学号 主要分以下几个版块 1.主页版块...