数据追加#添加分数(数据追加链接方式)(数据追加查询)
实验任务
准备
了解网络爬虫和python编程语法,了解爬虫需要调用的模块用法,以及python爬虫实践实验
实验内容:
任务1:抓取前250名豆瓣电影的基本信息,包括电影名称、豆瓣得分数、电影链接数,并自动存储和生成excel表。
网址:豆瓣电影250强
本实验需要定义四个模块:主功能模块、URL请求模块、数据捕获模块和数据存储模块
相关想法如下:
实验代码:
1 导入必要的库
进口稀土
导入xlwt
#定义主要功能模块
def main:
#定义正则表达式
#获取链接规则
#电影图片链接
#片名
#电影评级
#评价员人数
#电影概述
#查找电影的相关内容
#抓取网页模块
对于范围内的I:35;调用函数获取页面信息并重复十次
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中输入八个标题名称;
结果截图:
任务2:使用xlwt库生成XLS文件,以保存所有英雄的皮肤名称和爬网的国王荣耀的相应图像链接地址。
本实验需要定义四个模块:主模块、数据采集模块、英雄列表模块和数据存储模块
相关想法如下:
实验代码:
导入xlwt
导入pprint
#其中,pprint模块可以使打印的数据结构更加完整和易于阅读。
#定义URL链接和保存路径以封装请求
#构建所有国王和英雄的信息列表
打印
#构建一个列表,用于存储单个国王英雄信息
名称=
ename=i#
cname=i
尝试:
打印
名称将#add ename添加到名称列表
名称将#add CNAME添加到名称列表
#为了使最终输入到表中的数据具有间隙并易于查看,首先对列表数据进行串接并用空格分隔
#定义用于存储图像的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异常语句来消除故障。
如果:
发表评论