山东大学暑期实训-饮食健康管理系统设计与实现(十四)

山东大学暑期实训-饮食健康管理系统设计与实现(十四)

任务总结

任务完成后回忆整个过程,还是遇到了一些困难的,这里简单记录一下印象比较深刻的任务要点和难点。

任务难点与解决方法

1、 Scrapy的使用,对于初学者还是需要仔细了解一下的,通过对scrapy的官方教程的学习,逐渐理解了该框架的工作流程,通过编写几个demo爬虫逐渐掌握了scrapy基础框架的构建和使用。在掌握了简单的框架使用之后就可以搭建简单的项目以便后续的开发。
2、 Csv文件的操作问题。Csv文件的操作使用python的csv模块来实现,模块操作相对简单,但是有一些坑需要注意,比如在写csv文件时需要指定newline参数为空字符串,要不然写出来的csv文件会有空行。还有就是如果不想要删除原来写好的内容的话,要指定文件打开方式为’a’。然后通过for循环将要写入的内容写入文件。
3、 爬虫不稳定的问题。爬虫具有不稳定性,在多线程大批量的访问条件下,很多情况可能导致页面内容没有被获取到,尤其是我们还在爬取图片,图片的获取是本次爬虫的一大难点,同时由于我们使用的是scrapy默认的图像管道,因此我们经常会发现每次运行爬虫,图像只能爬取一点点。同时就可能会出现文本内容全部爬完了,而图片还没有被爬取,因此我们编写了额外的爬虫回调函数,来单独爬取文本内容或图片,只需要修改一下回调函数,更改一下配置文件中的管道以及下载器选择就可以了。通过多次爬取将能够被爬取下来的内容全部爬取后实在无法被获取的内容人工检查,发现是因为原网站的该用户数据丢失了,于是放弃该用户数据的爬取。
4、 乱码问题。在爬取网页内容的过程中有时候会发现报错而且爬下来的东西是一串乱码,这时候是因为编码问题。我们通过下载器下载下来的是utf8编码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值