练习requests爬虫

保存图片时,文件夹实现去重,图片暂没有去重

import requests
from bs4 import BeautifulSoup
import re
import os
import timeurl="http://www.58gc.cn/xgmn/"def get_all():#获取首页所有图片组的信息url="http://www.58gc.cn/dcd/"headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"}html=requests.get(url,headers=headers)#html.encoding="gbk"html=BeautifulSoup(html.text,'lxml')all_tpurl=html.select('li.wenshens > a:nth-of-type(1) ')for i in all_tpurl:tpz_url=i['href']#图片组链接name=i.find('img').get('alt')#图片组名字#print(tpz_url,name)yield (tpz_url,name)
def get_tuzu(tz):#获取单独一组图片中每张图片的链接并下载time.sleep(2)url=tz[0]name=tz[1]headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"}html=requests.get(url,headers=headers)html=BeautifulSoup(html.text,'lxml')num=html.select('.page > a' )[-1].get('href')num=re.search(r'./\d+_(\d+).html',num)num=num.group(1)tz_url=re.search(r'(http.*?\d+).html',url)tz_url=tz_url.group(1)####保存到C盘的mt文件夹中,并根据不同图片组命名不同的文件夹###os.chdir('c:/')c_list=os.listdir('c:/')if "mt" in c_list:passelse:os.mkdir('c:/mt')os.chdir('c:/mt')if name in os.listdir('c:/mt'):passelse:os.mkdir(name)os.chdir(name)####保存到C盘的mt文件夹中,并根据不同图片组命名不同的文件夹###for i in range(1,int(num)+1):tp_listurl=str(tz_url)+'_{}.html'.format(str(i))html=xz(tp_listurl)time.sleep(2)with open(str(i)+'.jpg','wb') as f:#下载f.write(html.content)#yield tp_listurl#yield urldef xz(url):#获取单独一张图片的信息headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0',}html=requests.get(url,headers=headers)html=BeautifulSoup(html.text,'lxml')tp_url=html.select('#picBody > p:nth-of-type(1) > img:nth-of-type(1)')[0].get('src')html=requests.get(tp_url,headers=headers)return htmlif __name__=="__main__":for tz in get_all():get_tuzu(tz)

Python requests爬取图片相关推荐

  1. 【大学生课程实践】实操:使用Python爬虫爬取图片

    实操:使用Python爬虫爬取图片 参考链接: 源码部署 安装源码中的爬虫库 创建 images文件 参考链接: 本博客作为大佬博客学习笔记记录 参考链接:孩子说"你没看过奥特曼" ...

  2. python requests 爬取数据

    python requests 爬取数据 import requests from lxml import etree import time import pymysql import json h ...

  3. [python爬虫] 爬取图片无法打开或已损坏的简单探讨

    本文主要针对python使用urlretrieve或urlopen下载百度.搜狗.googto(谷歌镜像)等图片时,出现"无法打开图片或已损坏"的问题,作者对它进行简单的探讨.同时 ...

  4. python爬取百度搜索_使用Python + requests爬取百度搜索页面

    想学一下怎样用python爬取百度搜索页面,因为是第一次接触爬虫,遇到一些问题,把解决过程与大家分享一下 1.使用requests爬取网页 首先爬取百度主页www.baidu.com import r ...

  5. python爬虫 爬取图片

    图片 爬取单张图片 #网址:https://pic.netbian.com/ 我们爬取:https://pic.netbian.com/4kmeinv/ from lxml import etree ...

  6. Python爬虫爬取图片

    ** Python爬虫爬取网站指定图片(多个网站综合经验结论分享) ** 我想以这篇文章来记录自己学习过程以及经验感受,因为我也是个初学者.接下来我将分享几个我爬取过的图片网站,给大家们分享下自己的方 ...

  7. python+requests+ 爬取官网双色球开奖数据

    python+requests+mysql 爬取官网双色球开奖数据 分析网页数据获取方式 第一种查询方式 第二种查询方式 完整代码 分析网页数据获取方式 第一种查询方式 在官网上 可以找到多种数据查询 ...

  8. python爬虫爬取图片无法打开_半小时入门python爬虫爬下网站图片,不能再简单了...

    阅读本文大约需要2分钟 本文旨在为没有爬虫基础的,偶尔想爬虫爬一下某个网站上的图片的初学者使用,如果你已经是对爬虫很熟悉了,下面依然有你感兴趣的东西. 我最近也才正儿八经学习了下爬虫,出于某种需要爬一 ...

  9. python爬虫爬取图片代码_Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests...

    Python到底多强大,绝对超乎菜鸟们(当然也包括我了)的想象.近期我接触到了爬虫,被小小地震撼一下.总体的感觉就两个词--"强大"和"有趣".今天就跟大家分享 ...

最新文章

  1. 拼命学的编程,你却可能错过一个亿!
  2. Python字符串方法:字符串拼接、截取、转数字
  3. aes离线解密工具_CTF常用工具、网站、练习平台
  4. msm8953之串口dts配置
  5. 【pointnet++点云识别】基于pointnet++的点云地理数据识别的MATLAB仿真
  6. BUUCTF-Reverse:xor(涉及异或脚本编写)
  7. C++函数名的修饰规则
  8. Keras与PyTorch全方位比较 哪一个深度学习框架更适合初学者?
  9. BZOJ 1193: [HNOI2006]马步距离【贪心+搜索】
  10. jq输出html 单引号引号转义符,javascript - 由于JSON中的单引号转义,jQuery.parseJSON抛出“无效的JSON”错误...
  11. 粤嵌GE6818实现识别触摸坐标的识别
  12. android8修改默认壁纸,给surfaceview设置默认背景
  13. 数据库课程设计-题库管理系统
  14. vscode 下载加速方法
  15. JAVA虚拟机环境如何在IMX6平台上搭建呢?
  16. java mybatisplus Error parsing time stamp
  17. 常用的ADB命令有哪些
  18. 光滑曲线_光滑曲线可求长定理证明
  19. android 平板桌面,RUI平板桌面
  20. User must be authenticated with Spring Security before authorization can be completed.解决方法

热门文章

  1. C#_无纸化会议系统_01
  2. FTP数据连接建立过程详解
  3. 通过url保存图片及微信头像保存到本地
  4. torch学习 (三十四):迁移学习之微调
  5. SSD202在梯控显示屏上的应用
  6. java 使用Jsoup 爬取 中国政府采购网数据
  7. 车站计算机的运行方式有,AFC系统包括哪些设备?
  8. 华为MPLS跨域C1方案实验配置
  9. 温商机器人企业_“2018温州市百强企业”揭晓
  10. 罗技F710手柄使用教程-ROS