php 爬虫_爬虫实战系列 教你用爬虫爬取小姐姐图片

b522979f4202b066934f163f389d8810.png

上个贴子中有网友评论有提到不会运行仓库里的爬虫代码,所以本贴特别做了个专题加以演示讲解。同样的,应广大兄弟的建议,同时也是增加大家学习爬虫的兴趣,今天还是讲解爬取小姐姐图片。

我们以煎蛋网为例(网址为:http://jandan.net/ooxx),登录 该网站,哇,风景太美,小伙伴们一定要挺住,我们是来学习爬虫的哈。

e44a52b799e7e08d6561f11214b340f3.png

我们用google浏览器打开网站,然后按F12,分析其请求过程,可以看到还是比较简单的,就是简单的get动作,只要把要请求的参数配置好就行。

好了,现在简单说一下爬取程序的要点:

1.通过for循环多次请求,实现获取多页内容

2.从返回的结果中提取出图片资源,保存到本地

2.为了保证存储的内容不是重复的,需要记录已经保存的图片的路径资源

使用到的库:

1.requests(请求资源使用)

2.beautifulsoup(解析网页内容)

3.argparse(解析输入参数)

核心代码如下:

# 保存图片
def save_jpg(res_url):
    global index
    html = BeautifulSoup(requests.get(res_url, headers=headers).text, features="html.parser")
    for link in html.find_all('a', {'class': 'view_img_link'}):
        if link.get('href') not in image_cache: # 不在数据库里的才进行存储
            with open(
                    '{}/{}.{}'.format(_dir, index, link.get('href')[len(link.get('href')) - 3: len(link.get('href'))]),
                    'wb') as jpg:
                jpg.write(requests.get("http:" + link.get('href')).content)
            image_cache.add(link.get('href'))
            print("正在抓取第%s条数据" % index)
            index += 1

完整的程序我已经维护到workbench库中,路径在(workbenchmodulescrawlerjandan_spider_bs4jandan_spider.py)

或去论坛上直接复制保存到本地进行运行

爬虫实战系列 教你用爬虫爬取小姐姐图片​www.brainternet.top

运行程序:

我们把命令行切换到jandan_spider.py文件所在路径,运行如下命令:

[workbench] D:workbenchmodulescrawlerjandan_spider_bs4>python jandan_spider.py
WARNING: You are using pip version 20.1.1; however, version 20.2 is available.
You should consider upgrading via the 'd:softanaconda3envsworkbenchpython.exe -m pip install --upgrade pip' command.
pip install argparse
Looking in indexes: http://pypi.douban.com/simple
Requirement already satisfied: argparse in d:softanaconda3envsworkbenchlibsite-packages (1.4.0)
WARNING: You are using pip version 20.1.1; however, version 20.2 is available.
You should consider upgrading via the 'd:softanaconda3envsworkbenchpython.exe -m pip install --upgrade pip' command.
正在抓取第0条数据
正在抓取第1条数据
正在抓取第2条数据
正在抓取第3条数据
......
正在抓取第119条数据
正在抓取第120条数据

刷新一下本地目录,可以看到120张图片已经保存到本地,大家还可以修改page参数来获取更多图片。

4dc63810887e94a6a0e462c959fbc8f2.png

其实此类图片网站还很多,再举两个?没问题:

https://www.vmgirls.com/

http://www.brainternet.top/forum.php?mod=viewthread&tid=248&extra=page%3D1

不同网站其网页结构稍有不同,有静态的、有需要XHR动态加载的,大家在实现自己爬虫程序时要灵活多变。

参考资料:http://www.brainternet.top/forum.php

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值