爬取laotuzi.com这个网站的图片

原本想爬的是妹子图这个网站的,结果应该是IP被封了,用电脑连接WiFi访问不了这个网站,我以为是断网了,但访问其他网站有能正常访问,用手机流量访问妹子图网站,又能够正常访问,哎,我只是想研究下技术,想学习一下知识而已=_=!不多话了,先上代码:

import requests
from bs4 import BeautifulSoup
import os
import os.pathurl = 'http://www.laotuzi.com/meizitu/'
headers = {'Referer': 'http://www.laotuzi.com/meizitu/',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'
}
'''proxies = {'http':'187.44.1.167:8080','http':'187.95.125.71:3128','http':'185.19.176.237:53281','http':'185.148.218.246:8081','https':'31.31.77.107:3128'}'''for i in range(2,11):try:port = 'index_'html = '.html'url1 = url + port + str(i) + htmlr = requests.get(url1,headers = headers)r.encoding = r.apparent_encodingexcept:print('此处有误!!')continuesoup = BeautifulSoup(r.text,'lxml')print('第%d页的状态是:%d' %(i,r.status_code))div_list = soup.findAll('ul',class_ = 'pic-m')a = div_list[0].findAll('a')for i in range(len(a) + 1):try:path = 'E:\\meinv\\'url3 = 'http://www.laotuzi.com' + a[i]['href']r3 = requests.get(url3,headers = headers)r3.encoding = r3.apparent_encodingprint('解析成功第二层!当前状态码是%d'%r.status_code)if a[i]['href'] == a[i + 1]['href']:continueprint('数据解析中,请稍后.......')soup = BeautifulSoup(r3.text,'lxml')div_list = soup.find('div',class_ = 'tcontent').p.ab = div_list.find('img')file_name = b.attrs['alt']photo_file_name = path + file_name + '\\'home_url = 'http://www.laotuzi.com'link = home_url + b.attrs['src']greuss = os.path.exists(photo_file_name)r1 = requests.get(link,headers = headers)r1.encoding = r1.apparent_encodingif greuss == False:print('正在创建文件夹!')os.makedirs(photo_file_name)print('创建成功!')with open(photo_file_name + str(1) + '.jpg','wb') as f:print('每页的首张照片成功写入!')f.write(r1.content)all_page = soup.find('div',class_ = 'tg_pages')next_page = all_page.findAll('a')next_page.pop(0)except:continuefor i in range(2,len(next_page)):try:print('正在访问%d页'%i)link2 = home_url + next_page[i]['href']r4 = requests.get(link2,headers = headers)r4.encoding = r4.apparent_encodingprint('数据解析中,请稍后...')soup = BeautifulSoup(r4.text,'lxml')d = soup.find('div',class_ = 'tcontent').p.aprint('第一步\n')e = d.find('img')print('第二bu')next__page = e.attrs['src']print('第三步')file = home_url + next__pagenext__page = home_url + next__pageprint('第四步')r5 = requests.get(next__page,headers = headers)r5.encoding = 'utf-8'with open(photo_file_name + str(i) + '.jpg','wb') as f:print('正在保存%d张\n\n\n'%i)f.write(r5.content)except:print('进入下一个页')continue

我没把它做成函数块,原因是我脑袋总是跟不上我的思路,总是想得岔劈了,没办法。就只能一步一步按,想法来了,后面的话,会逐渐写成函数,封装的。再插入图片:


'''proxies = {'http':'187.44.1.167:8080','http':'187.95.125.71:3128','http':'185.19.176.237:53281','http':'185.148.218.246:8081','https':'31.31.77.107:3128'}'''

上图这一张是设置代理IP的,本想设置下代理IP来防封IP,结果这些代理IP各个都没用,呀,果然好用的都是需要money的。有关这代码不懂的,欢迎大家交流。

等下,我也有不懂的,我想请问一下大佬们如何能够提高这些资源的下载速度啊!就比如说这下妹子图,我理解的下载流程如下:
1,获取需爬取的网站网页信息。
2,使用bs4解析网页,提取出其图片的最大页数
3,点击图片,找出其中图片的规律
4,使用正则表达式,筛选出每一页图片的地址
5,使用循环,根据图片地址,重复向网站请求数据,然后下载图片。
大佬们,我的思路没毛病吧?可为什么每次下载图片时,都比较慢。自我分析,可能是requests请求响应较慢,也可能是BeautifulSoup解析网页比较慢,因为我的网页解析都是看着比较繁琐的。但是这是必要的啊,有些时候,在同一节点下,有许多相同的标签,解析会感觉繁琐,请问大佬,我的问题出在哪里??

Python 爬取妹子图02相关推荐

  1. 教你用Python爬取妹子图APP

    教你用Python爬美之图APP全站图片 爬取结果 程序只运行了2h,最后认为程序没有问题了就关了(我可不是去杀生去了...... 运行环境 Python 3.5+ Windows 10 VSCode ...

  2. python 爬取妹子图

    作为一个python还没入门的小白,搞懂这段代码实在是很不容易,还要去学html的知识(#黑脸) 因此我加上了注释,比较好读懂点 #coding=utf-8 import time import re ...

  3. python多线程爬取妹子图

    python多线程爬取妹子图 python使用版本: 3.7 目的: 自己选择下载目录,逐个将主题图片保存到选定目录下. 效果: 一秒钟左右下载一张图片,下了七八十组图片暂时没什么问题,不放心的话,可 ...

  4. Python 爬虫入门(二)——爬取妹子图

    Python 爬虫入门 听说你写代码没动力?本文就给你动力,爬取妹子图.如果这也没动力那就没救了. GitHub 地址: https://github.com/injetlee/Python/blob ...

  5. python爬虫-爬妹子图_Python 爬虫入门之爬取妹子图

    Python 爬虫入门之爬取妹子图 来源:李英杰  链接: https://segmentfault.com/a/1190000015798452 听说你写代码没动力?本文就给你动力,爬取妹子图.如果 ...

  6. python爬虫妹子图_Python 爬虫入门(二)——爬取妹子图

    Python 爬虫入门 听说你写代码没动力?本文就给你动力,爬取妹子图.如果这也没动力那就没救了. 公众号:[智能制造社区].欢迎关注,分享智能制造与编程那些事. 爬虫成果 当你运行代码后,文件夹就会 ...

  7. 爬取妹子图(python):爬虫(bs+rq)+ gevent多线程

    爬取妹子图(python):爬虫(bs+rq)+ gevent多线程 简介 我观察爬取妹子图算是爬虫专业户必做的事情之一,所以我也做了一个,结果是有3.45GB,49847张图. 打算依靠这个图库做个 ...

  8. python爬取妹纸图片

    初学python,刚好看到爬取妹纸图片的教学视频,于是跟着学习学习python网络爬虫,使用python爬取图片. 进入主页,可以看到妹子自拍,一共446页之多 0.0 ,如下图所示: 查看网页url ...

  9. Python爬虫 - scrapy - 爬取妹子图 Lv1

    0. 前言 这是一个利用python scrapy框架爬取网站图片的实例,本人也是在学习当中,在这做个记录,也希望能帮到需要的人.爬取妹子图的实例打算分成三部分来写,尝试完善实用性. 系统环境 Sys ...

最新文章

  1. 如何初始化类的static成员变量?
  2. 安装php时,configure: error: xml2-config not found. Please check your libxml2 installation
  3. vs2005中文的,可是有180天的适用期,哪位高手能破了啊
  4. 如何让你投出的简历得到回应
  5. 26.删除排序数组中的重复项
  6. 【解题报告】Leecode 372. 超级次方——Leecode每日一题系列
  7. python调用simulink_使用Python从dbc文件中提取simulink建模数据定义
  8. 修改同一张表的同一个字段的两个不同的值。
  9. 递归算法设计 —— 选择排序和冒泡排序
  10. nginx配置 负载均衡_如何配置NGINX负载平衡
  11. React-Native开发App,修改图标和名字
  12. [JNI]开发之旅(5)访问c/c++函数
  13. CUDA C编程入门
  14. mysql仿网易评论_仿网易新闻客户端评论盖楼
  15. 苹果延迟审核怎么办?历时1个月终于上架AppStore!太不容易了!实战!
  16. 白话空间统计二十三回归分析番外:残差可视化
  17. (转)优秀防火墙推荐列表
  18. NPM => npm登录-发包-删包-整体流程
  19. 常见图片文件格式简析
  20. 北京的电竞学校的要求有哪些?

热门文章

  1. win10忘记redis密码
  2. Jackson ImmunoResearch普通羊驼血清说明书
  3. 成员函数的重载、覆盖与隐藏(详细)【转】
  4. Python分析双色球,中大奖指日可待
  5. Ubuntu 开机慢的问题排查
  6. spring cache annotation(二)
  7. 计算机能安装几个硬盘,一台电脑最多能接多少个硬盘?
  8. java 多线程(四)—— 线程同步/互斥=队列+锁
  9. A*算法解决8数码问题python实现
  10. helm部署jenkins到k8s并创建pipeline构建项目