BY-SA 4.0(除特别声明或转载文章外)
爬虫学习
这几天想加深一下python的学习,就想着写个简单的爬虫来学习学习。爬的是p站的图片(指pixiv…好8其实也差不多),绝对不是为了ghs!
写下思路,我引用了requests和beautifulsoup4 requests是为了请求网站而beautifulsoup4是为了提取网站内容,requests也可以用urllib库来代替,不过我没用过urllib库,而且好像requests比urllib来的更简单,之后有时间会去了解urllib库。其实本来也想用正则表达式去过滤内容的,不过学着学着了解到了bs4这个东西,突然感觉这玩意儿比正则简单多了,不过写完这个还会继续学正则表达式(毕竟正则无论是在题还是在实践还是用途挺广的)。
我的目标是爬p站的日榜图片,先是收集相关的信息,比如p站日榜的url是https://www.pixiv.net/ranking.php?mode=daily
然后发现p站日榜中的图片的地址,比如这个https://i.pximg.net/c/240x480/img-master/img/2019/12/18/20/58/20/78357442_p0_master1200.jpg
不过这个图片是缩略图,很模糊,也很小,我们就要去找原图地址。点开日榜的图片,再找图片的来源,这时就得到了图片的原图地址https://i.pximg.net/img-master/img/2019/12/18/20/58/20/78357442_p0_master1200.jpg
可以很明确的看出他和上面那个链接的差别仅是url中少了一个/c/240x480
我们就不用每个都去单独读取了,直接获取日榜所有缩略图的地址再把地址改成原图地址就行了。还有什么值得注意的地方的话,就是在请求图片地址的时候,需要添加referer头和user-agent头,p站会验证请求头以防止盗链,否则会403forbidden(这个地方还卡了我好一会儿…)把源码贴出来
目前还有点想实现的功能还没实现,改完会进行修改,还有就是…这个脚本实在不怎么美观…如果有什么修改意见可以留言嗷~(这是我写的第一个爬虫,敬请指教!)
PS:修改了一下,加了os库和time库,方便归类每一天的日榜图片