实验任务
准备
了解网络爬虫和python编程语法、爬虫需要调用的模块使用方法以及python爬虫实践实验
实验内容:
任务1:捕捉前250名豆瓣电影的基本信息,包括影片名称、豆瓣得分数、影片链接数,自动存储和生成excel表格。
网址:豆瓣电影250强
在本实验中,需要定义主功能模块、URL请求模块、数据获取模块、数据存储模块这4个模块
相关的想法如下。
实验代码:
1导入所需的库
进口稀土
导入xlwt
#定义主要功能模块
def main:
#定义正则表达式
#获取链接规则
#电影图片链接
#切片名称
#电影评价
#评委人数
#电影简介
#电影搜索
#捕获Web模块
范围内I:35,调用函数获取页面信息,重复10次
HTML=ask URL#保存所获取网页的源代码
#2逐一分析数据
汤里的东西。全部搜索:35、查找形成列表所需的字符串
#打印#test显示电影的所有信息
数据=
项目=str
#获取影片详细信息链接
添加数据#添加链接
添加数据
在以下情况下:
Title=Title#添加中文名称
添加数据
添加数据
否则:
添加数据
添加数据
添加数据#添加分数
如果len!=0:
添加数据
否则:
添加数据
bd=re。Sub′,'',BD35;删除br
bd=re。附带的
添加数据
#定义请求模块
def askURL:
#构建请求封装
html=“”
尝试:
#印刷品
打印
打印
返回html
请求标头所需的Cookie信息:
#定义保存模块
打印
Col=“电影详细链接”、“图片链接”、“电影中文名”、“电影外国名”、“得分”、“评论数”、“概要”、“相关信息”
范围i时:
床单
范围i时:
打印
范围内j时:
床单
main
打印
第一个for循环:在Excel中输入8个标题名称。
结果屏幕快照:
任务2:使用xlwt库生成XLS文件,保存所有英雄的皮肤名和爬网国王荣耀的相应图片链接地址。
在本实验中,需要定义主模块、数据收集模块、英雄列表模块、数据存储模块四个模块
相关的想法如下。
实验代码:
导入xlwt
导入pprint
#在此,pprint模块使打印的数据结构更加完整和可读。
#定义用于封装请求的URL链接和保存路径
#构建所有国王和英雄的信息列表
打印
#列出单个国王英雄信息
名称=
ename=i#
cname=i
尝试:
打印
名称将#add ename添加到名称列表中
将名称添加到名称列表
###要使最终输入到表中的数据具有间隙,便于显示,请首先将列表数据合并并用空格分隔
#定义用于保存图像的URL列表
添加名称#将字符串urlstr保存到名称列表
打印
打印
#文件柜定义
打印
Col=“英雄代码”、“英雄名称”、“皮肤名称”、“图片链接”
范围i时:
床单
打印
范围内j时:
床单
第一个for循环:在Excel中输入四个标题名称。
结果屏幕快照:
3.实验总结
目标:记录实验中遇到的错误,分析错误的原因,加深对新学习函数和python语法的理解
知识总结
网络爬虫知识
基本流程:
所需模块概述:
Urllib请求返回页面
可以打开HTTP SFTP协议的URL
函数返回包含三种附加方法的对象。
Re模块:正则表达式
规则:
主要功能:
File=Open注:RB作为二进制文件打开
html=文件。读取35,读取二进制文件
使用xlwt库
代码:
导入xlwt
范围i时:
范围内j时:
结果屏幕快照:
问题和解决方案
问题1:在任务2中,上一个excel的图像链接与覆盖皮肤名称时相同。
问题2:任务2中,抓取皮肤名称时发生密钥错误。
解决办法:原因是王哲官网的漏洞,马超栏没有参数。因此,使用try示例外语句消除故障。
1g
发表评论