python爬取一组小姐姐图片实例

目录
  • 前言
  • 引入库
  • 网页分析
  • 总结
  • 完整代码

前言

前段时间我有个朋友看到一些小姐姐的照片,想全部下载下来,叫我帮个忙。于是花费了半天给他全部下载了下来。

引入库

import time
import requests
from lxml import etree
这三个库是为了让我们在请求别人网站的时候,让程序休息一会,避免别人的网站会拦截或者崩溃和将得到的页面源代码进行解析。

网页分析

利用浏览器的开发者模式,对页面进行分析,找出我们所需要的每个图片封面url

href = tree.xpath('//*[@id="features"]/div/div[1]/div/div[1]/a/@href')

我们得到了封面的url后,但这还不是我们所需要的,我们所需要的是超链接里面的图片

我们进入后,发现每张图片都在<p></p>里面,如何我们利用循环得到每张图片的url地址

 for url_img in href:
            img_url = requests.get(url_img,headers=head)
            # print(img_url.text)
            time.sleep(1)
            t = etree.HTML(img_url.text)
            url_list = t.xpath("/html/body/section/div/div/div[1]/div[2]/p[2]/img/@src")

剩下的就很简单了,我们只需对文件进行保存就得到我们想要的结果了。

 with open(f"./img/{name}",mode="wb") as f:
        f.write(download_img.content)
        print("正在下载:" +name)
        time.sleep(1)

总结

但同步下载非常慢,我们可以写个多线程或者异步协程来帮助我们下载得更快。

我知道还有很多不足,有没有更简洁的写法,希望大佬们能指出,谢谢!

完整代码

import time
import requests
from lxml import etree

def get_page_url():
    for i in range(1, 4): # 循环3页
        url = f"https://mm.tvv.tw/category/xinggan/{i}/"

        # 请求页面得到源代码
        res = requests.get(url,headers=head)
        # 对源代码进行解析
        tree = etree.HTML(res.text)
        # 得到每个图片的封面url(href)
        href = tree.xpath('//*[@id="features"]/div/div[1]/div/div[1]/a/@href')
        # print("-------------------------------------------------------")
        time.sleep(3)
        for url_img in href:
            img_url = requests.get(url_img,headers=head)
            # print(img_url.text)
            time.sleep(1)
            t = etree.HTML(img_url.text)
            url_list = t.xpath("/html/body/section/div/div/div[1]/div[2]/p[2]/img/@src")
            # print(url_list)
            time.sleep(1)
            for url_src in url_list:
                get_img(url_src)

def get_img(url):
    name = url.rsplit("/",1)[1]
    time.sleep(2)
    download_img = requests.get(url,headers=head)
    with open(f"./img/{name}",mode="wb") as f:
        f.write(download_img.content)
        print("正在下载:" +name)
        time.sleep(1)
    f.close()

if __name__ == '__main__':
    head = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"}
    get_page_url()
到此这篇关于python爬取一组小姐姐图片实例的文章就介绍到这了,更多相关python爬取图片内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
(0)

相关推荐

  • 使用Python爬取小姐姐图片(beautifulsoup法)

    Python有许多强大的库用于爬虫,如beautifulsoup.requests等,本文将以网站https://www.xiurenji.cc/XiuRen/为例(慎点!!),讲解网络爬取图片的一般步骤. 为什么选择这个网站?其实与网站的内容无关.主要有两项技术层面的原因:①该网站的页面构造较有规律,适合新手对爬虫的技巧加强认识.②该网站没有反爬虫机制,可以放心使用爬虫. 第三方库需求 beautifulsoup requests 步骤 打开网站,点击不同的页面: 发现其首页是https://

  • Python爬虫爬取网站图片

    此次python3主要用requests,解析图片网址主要用beautiful soup,可以基本完成爬取图片功能, 爬虫这个当然大多数人入门都是爬美女图片,我当然也不落俗套,首先也是随便找了个网址爬美女图片 from bs4 import BeautifulSoup import requests     if __name__=='__main__':     url='http://www.27270.com/tag/649.html'     headers = {         "U

  • Python使用5行代码批量做小姐姐的素描图

    目录 1. 流程分析 2. 具体实现 3. 百度图片爬虫+生成素描图 我给大家带来的是 50行代码,生成一张素描图.让自己也是一个素描"大师".那废话不多说,我们直接先来看看效果吧. 上图的右边就是我们的效果,那具体有哪些步骤呢? 1. 流程分析 对于上面的流程来说是非常简单的,接下来我们来看看具体的实现. 2. 具体实现 安装所需要的库: pip install opencv-python 导入所需要的库: import cv2 编写主体代码也是非常的简单的,代码如下: import

  • python爬取一组小姐姐图片实例

    目录 前言 引入库 网页分析 总结 完整代码 前言 前段时间我有个朋友看到一些小姐姐的照片,想全部下载下来,叫我帮个忙.于是花费了半天给他全部下载了下来. 引入库 import time import requests from lxml import etree 这三个库是为了让我们在请求别人网站的时候,让程序休息一会,避免别人的网站会拦截或者崩溃和将得到的页面源代码进行解析. 网页分析 利用浏览器的开发者模式,对页面进行分析,找出我们所需要的每个图片封面url href = tree.xpa

  • Python爬取动态网页中图片的完整实例

    动态网页爬取是爬虫学习中的一个难点.本文将以知名插画网站pixiv为例,简要介绍动态网页爬取的方法. 写在前面 本代码的功能是输入画师的pixiv id,下载画师的所有插画.由于本人水平所限,所以代码不能实现自动登录pixiv,需要在运行时手动输入网站的cookie值. 重点:请求头的构造,json文件网址的查找,json中信息的提取 分析 创建文件夹 根据画师的id创建文件夹(相关路径需要自行调整). def makefolder(id): # 根据画师的id创建对应的文件夹 try: fol

  • Python爬取qq空间说说的实例代码

    具体代码如下所示: #coding:utf-8 #!/usr/bin/python3 from selenium import webdriver import time import re import importlib2 import sys importlib2.reload(sys) def startSpider(): driver = webdriver.Chrome('/Users/zachary/zachary/chromedriver.exe') #这个是chormedriv

  • Python爬取豆瓣视频信息代码实例

    这篇文章主要介绍了Python爬取豆瓣视频信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quotefrom pyquery import PyQuery as pqimport requestsimport pandas as pddef get_text_page (movie_name)

  • python爬取招聘要求等信息实例

    在我们人生的路途中,找工作是每个人都会经历的阶段,小编曾经也是苦苦求职大军中的一员.怀着对以后的规划和想象,我们在找工作的时候,会看一些招聘信息,然后从中挑选合适的岗位.不过招聘的岗位每个公司都有不少的需求,我们如何从中获取数据,来进行针对岗位方面的查找呢? 大致流程如下: 1.从代码中取出pid 2.根据pid拼接网址 => 得到 detail_url,使用requests.get,防止爬虫挂掉,一旦发现爬取的detail重复,就重新启动爬虫 3.根据detail_url获取网页html信息

  • python爬取抖音视频的实例分析

    现在抖音的火爆程度,大家都是有目共睹的吧,之前小编在网络上发现好玩的事情,就是去爬取一些网站,因此,也考虑能否进行抖音上的破案去,在实际操作以后,真的实现出来了,利用自动化工具,就可以轻松实现了,后有小伙伴提出把appium去掉瘦身之后也是可以实现的,那么看下详细操作内容吧. 1.mitmproxy/mitmdump抓包 import requests path = 'D:/video/' num = 1788 def response(flow): global num target_urls

  • python 爬取英雄联盟皮肤图片

    一开始都是先去<英雄联盟>官网找到英雄及皮肤图片的网址: URL = r'https://lol.qq.com/data/info-heros.shtml' 从上面网址可以看到所有英雄都在,按下F12查看源代码,发现英雄及皮肤图片并没有直接给出,而是隐藏在JS文件中.这时候需要点开Network,找到js窗口,刷新网页,就看到一个champion.js的选项,点击可以看到一个字典--里面就包含了所有英雄的名字(英文)以及对应的编号(如下图). 但是只有英雄的名字(英文)以及对应的编号并不能找到

  • python 爬取天气网卫星图片

    项目地址: https://github.com/MrWayneLee/weather-demo 代码部分 下载生成文件功能 # 下载并生成文件 def downloadImg(imgDate, imgURLs, pathName): a,s,f = 0,0,0 timeStart = time.time() while a < len(imgURLs): req = requests.get(imgURLs[a]) imgName = str(imgURLs[a])[-13:-9] print

  • 利用python爬取散文网的文章实例教程

    本文主要给大家介绍的是关于python爬取散文网文章的相关内容,分享出来供大家参考学习,下面一起来看看详细的介绍: 效果图如下: 配置python 2.7 bs4 requests 安装 用pip进行安装 sudo pip install bs4 sudo pip install requests 简要说明一下bs4的使用因为是爬取网页 所以就介绍find 跟find_all find跟find_all的不同在于返回的东西不同 find返回的是匹配到的第一个标签及标签里的内容 find_all返

  • Python爬取微信小程序Charles实现过程图解

    一.前言 最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用python爬虫爬取数据,尝试后发现诸多问题,比如无法获取目标网址.解析网址中存在指定参数的不确定性.加密问题等等,经过一番尝试,终于使用 Charles 抓取到指定微信小程序中的数据,本文进行记录并总结. 环境配置: 电脑:Windows10,连接有线网 手机:iPhone Xr,连接无线网 注:有线网与无线网最好位于同一网段下. 本文有线网网址:192.168.131.24,无线网网址:192.168.210.2

随机推荐