无需密码自动登录,系统用户名shiyanlou
本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:
使用GVim编辑器输入实验所需的代码及文件,使用终端运行所需命令进行操作。
实验报告可以在个人主页中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。
实验楼虚拟机,自带了python2.X和python3.X版本,无需安装 该实验建议使用 python2.7 版本, 也就是默认版本
这一节是最为本次爬虫课程--基础课的收尾工作
#!/usr/bin/env python
# 上面这一行称为 shebang,它能找到当前环境的python的执行环境
#文件名:meizi_tag
import re
import urllib2
import meizi_series_nextpage
def loadurl(url):
try:
conn = urllib2.urlopen(url,data=None,timeout=5)
html = conn.read()
return html
except Exception:
return ''
#下面是主函数
def meizi(url,path):
#见上面的html代码截图,对比无误
reTagContent = '<div.*?class="tags">.*?<span>(.*?)</span>'
reTagUrl = '<a.*?href="(.*?)".*?>'
print 'start open meiziwang'
html = ''
while True:
html = loadurl(url)
if html == '':
print 'load', url,'error'
continue
else:
break
tagContent = re.findall(reTagContent, html, re.S)
taglists = re.findall(reTagUrl, tagContent[0], re.S)
#你仔细看会发现,链接又重,而且匹配、添加到列表,重复依旧在,所以啦,需要去重和排序,
taglists = sorted(list(set(taglists)))
for url in taglists:
meizi_series_nextpage.nextpage(url,path)
meizi('http://www.meizitu.com','/home/shiyanlou/Desktop/meizi')
print 'Spider Stop'
实验楼环境截图,仅仅运行了本节代码,没有调用上节代码
高-中-低层,三层代码连起来运行,实验楼环境截图【介于是虚拟环境,我只测试第一个标签,第一个页面,第一个套图里的全部图片】
基础课程的总结,如下: - 此次基础爬虫,一共用到了三个模板os、urllib2、re - 基础的四个代码文件,代码总行数不超过200 - 大多数代码主要处理问题:网络问题、path问题、url链接问题 - 文件名,我给的没有后缀,需要加.py - 你运行起来,查看下网络利用率(系统自带监视器),是不是很低?因为还没进行优化 - ...
后续实验会完成一个更高效的爬虫。