一、前期准备

(一).我们要爬取的页面

1,我们要爬取的网站为:https://www.doutula.com/photo/list/?page=1

2,获取请求头,来模拟浏览器浏览,不让网站直接就暴露我们是python,怎么获取请求头呢,很简单,按f12(右键检查)

很好,你已经会了请求头,那么现在就开始用工具把。

3,所以我们前期的代码是这样的:

def get_url(url):
#我们的请求头信息headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'}
#定义一个main函数
def main():for x in range(1,10):        #定义一个循环,设置我们要爬取的页数url = 'https://www.doutula.com/photo/list/?page=%d'%xget_url(url)
#函数调用if __name__ == '__main__':main()

二、获取网页的信息

(一),用requests来获取我们页面信息,安装如下

pip install requests  -i https://pypi.tuna.tsinghua.edu.cn/simple

(二),用etree来使用我们xpath

代码为:

def get_url(url):
#我们的请求头信息headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'}response =requests.get(url,headers=headers)#打印我们的信息print(response)response =requests.get(url,headers=headers)test = response.texthtml = etree.HTML(test)#定义一个main函数
def main():for x in range(1,10):        #定义一个循环,设置我们要爬取的页数url = 'https://www.doutula.com/photo/list/?page=%d'%xget_url(url)
#函数调用if __name__ == '__main__':main()

(三),使用xpath来获取我们的图片和标题

这里是网站放置图片和文本的地方,我们使用xpath获取到了整页中所以图片的地址和标题

代码如下:

 img_url =html.xpath("//div[@class ='page-content text-center' ]//img[@class !='gif']")

(四)全部代码

import requests
from lxml import etree
import os
import re
from urllib import request
i = 1
def get_url(url):global iheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'}response =requests.get(url,headers=headers)test = response.texthtml = etree.HTML(test)img_url =html.xpath("//div[@class ='page-content text-center' ]//img[@class !='gif']")for img in img_url:img_url1  = img.get('data-original')img_name = img.get('alt')img_name = re.sub(r'!@#$%^&*()~`,?\/','',img_name)suffix = os.path.splitext(img_url1)[1]filenme = img_name+suffix# print(filenme)print("正在下载:{}".format(filenme))request.urlretrieve(img_url1,'aaa/'+filenme)print("=" * 30)print("正在下载%d页" % i)i += 1
def main():a = input("请输入你要爬取的页数:")for x in range(1,a):url = 'https://www.doutula.com/photo/list/?page=%d'%xget_url(url)if __name__ == '__main__':main()

python简单爬取斗图图片(自学第十天)相关推荐

  1. python多线程爬取斗图啦数据

    python多线程爬取斗图啦网的表情数据 使用到的技术点 requests请求库 re 正则表达式 pyquery解析库,python实现的jquery threading 线程 queue 队列 ' ...

  2. 斗图斗不过小伙伴?python多线程爬取斗图网表情包,助你成为斗图帝!

    最近python基础课讲到了多线程,老师让交个多线程的实例练习.于是来试试多线程爬虫,正好复习一下mooc上自学的嵩天男神的爬虫知识.想法很美好,过程却很心酸,从早上开始写,每次出现各种奇怪问题,到现 ...

  3. Python多线程爬取斗图啦表情包

    斗图啦表情包多线程爬取-撸代码 首先快速的导入我们需要的模块,和其他文章不同,我把相同的表情都放在了同一个文件夹下面,所以需要导入os模块 import asyncio import aiohttp ...

  4. py3+requests+urllib+bs4+threading,爬取斗图图片

    实现原理及思路请参考我的另外几篇爬虫实践博客 py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图:http://www.cnblogs.com/uncleyong/p/6892688. ...

  5. Python爬虫系列(三)多线程爬取斗图网站(皮皮虾,我们上车)

    斗图我不怕 最近看了Python多线程的相关内容,并且前几天观看了腾讯课堂潭州学院上面的关于斗图网爬取的公开课,课程内容大致是利用Python多线程爬取斗图(多页),并将图片保存到本地.自己写这篇文章 ...

  6. 使用python爬取斗图网的图片

    使用python爬取斗图网的图片 以下是代码部分: # -*- coding: utf-8 -*- """ Created on Wed Apr 14 14:41:42 ...

  7. 100行代码教你爬取斗图网(Python多线程队列)

    100行代码教你爬取斗图网(Python多线程队列) 前言 根据之前写的两篇文章,想必大家对多线程和队列有了一个初步的了解,今天这篇文章就来实战一下,用多线程 + 队列 爬取斗图网的全网图片. 你还在 ...

  8. python多线程爬取多个网址_【Python爬虫】多线程爬取斗图网站(皮皮虾,我们上车)...

    原标题:[Python爬虫]多线程爬取斗图网站(皮皮虾,我们上车) 斗图我不怕 没有斗图库的程序猿是无助,每次在群里斗图都以惨败而告终,为了能让自己在斗图界立于不败之地,特意去网上爬取了斗图包.在这里 ...

  9. python爬取斗图

    python使用requests模块请求网址,使用lxml模块中etree抓取数据,并使用time模块延时 爬取斗图啦如图所示: 将爬取到每页的数据保存在文件夹中 打开任意一个文件,将图片保存在内: ...

最新文章

  1. Python培训教程:pycharm常用的快捷键合集
  2. ConcurrentHashMap源码解析(1)
  3. 数据库路由中间件MyCat - 源代码篇(7)
  4. 快速入门 Python 数据分析实用指南
  5. 使用 XHGui 对 PHP 应用进行性能诊断
  6. 【华为云技术分享】【Python算法】分类与预测——决策树
  7. 冷凝器换热效果变差后果
  8. Chrome浏览器离线安装Axure插件
  9. 解决 Winfrom richtextbox不显示RTF文档 图片问题
  10. HCIE大师之路——Lab讲解
  11. 银河麒麟v10离线安装docker-ce
  12. 对“陶哲轩-来自特征值的特征向量”的理解
  13. 计算机5克,C盘莫名其妙少了5个多G,这是怎么回事??
  14. 除了美团点评合并,国庆长假O2O还发生了什么?
  15. java frappuccino_星巴克的“十二星座代表饮品” 你是星冰乐还是特浓咖啡?
  16. ThinkPad E450 拆机换电池
  17. 实训三:文件系统命令及vi编辑
  18. html5 2020视觉效果,体验未来:10个会让你惊叹不已的HTML5画布(CANVAS)技术应用演示-UI博客精选...
  19. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之RegexFeaturizer
  20. m35c android 4.4,索尼M35c电信版评测:Android 4.1系统和娱乐体验

热门文章

  1. 关于WIN7输入法的小问题
  2. 谁说阅读App只能“阅”?百度大脑变“口语专家”为英语朗读打分
  3. STM32夺命100问,你知道几个?
  4. linux 配置trac界面显示为中文,Trac的安装和配置
  5. Nacos(二)Linux部署Nacos集群环境(兼容Nacos1.x与2.x)
  6. 天龙八部TLBB系列 - 网单服务端Public/Data目录文件说明
  7. C#环境下GDAL / OGR环境配置与入门
  8. maven依赖的添加
  9. 误删了注册表文件USB通用串行总线控制器报异常
  10. R语言中作图字体的设置