Python爬虫 项目化 几种难题

爬虫项目化

1.爬取有效信息:

    1.例如YouTube这种容易找到videoId但是在YouTube网页中视频链接真的超级难找的,可以借助第三方网页,但是尝试了几个,比如en.savefrom.cn也不太好找,后来在https://youtubemultidownloader.com/中可以比较方便找到视频的链接,所以就在YouTube上搜索关键词,然后获取到videoId后在第三方网页中进行下载,这样还可以避免被YouTube封IP。

    2.图片、视频等的下载链接往往会在JS中出现,则可以直接用json.loads()方式可以载入形成字典,然后逐层解析。当然也有在一些长篇的内容中出现个var什么之后带个JS的,那就可以用re正则匹配一下,这时候一定确认好整个JS尾巴上的是}后边是怎样的格式。因为某次我把,看成;弄了老半天奇怪怎么搞不出来。

    3.例如qq空间这样的不太好爬的网站,一个是需要登录,登录前貌似cookies不太好获得。

        a.可以用selenium模拟登陆后获得cookies,然后退出在cookies存在时间内进行爬取。

        b.可以人工登录后,复制cookies后配置到爬虫环境中,即可以在本次实现爬取。

    4.在调试时,先将try-except去掉,知道哪里存在问题,然后调整完之后,再回复try-except使得程序更稳健长时间运行。

    5.下载数据时需要进行文件名与文件类型的统一化。

    6.稳定性测试。


2.新建数据库去重:

    1.新建数据库,目前暂时用sqlite3,因为安装方便且性能暂时还是够用。

    2.将文件夹下的文件(名)加入到数据库,以名字作为主键,可以避免同名存在。

    3.在数据库下,在获取链接后,添加进入数据库,若有同名存在则跳过下载。

    4.稳定性测试。


3.加入线程,稳定性测试:

    1.加入线程的位置现在暂时选在下载过程中。

    2.选择加入的线程数量,使得下载速度是最快的。即线程优化。

    3.稳定性测试。包括长时间运行容错性。


4.配置文件使得产品易于使用:

    1.文件比如关键词、搜索广度等进行单独文件配置,使得其他人在使用时能友好。

    2.稳定性测试。包括关键词的格式容错度如何,输入数值是否造成不可运行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值