一、前言:

  今天学了两个工具urlopen  和etree,这两个小工具至关重要。urllib.request模块提供了最基本的构造HTTP请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理授权验证(authenticaton)、重定向(redirection)、浏览器Cookies以及其他内容,etree.HTML()可以用来解析字符串格式的HTML文档对象,将传进去的字符串转变成_Element对象。作为_Element对象,可以方便的使用getparent()、remove()、xpath()等方法。

  如果想通过xpath获取html源码中的内容,就要先将html源码转换成_Element对象,然后再使用xpath()方法进行解析。

二、需求描述:

  采集一个网站的枪的图片文件。

三、逻辑分析:

  1.获取目标网址,并且用代码获取对应的HTML文件;
  2.在HTML中筛选需要的资源内容,比如图片:img(也可以是文字,视频,音频等)
  3.下载保存该资源

四、完整代码

 1 from urllib.request import urlopen
2 from lxml import etree
3 html文件=urlopen('https://*&*&*()……&*……&*……*&……*&')
4 html文件中的内容=html文件.read().decode('GBK')
5 标准化后的img标签=etree.HTML(html文件中的内容)
6 print(标准化后的img标签)
7 符合要求的img标签=标准化后的img标签.xpath('//div[@id="section-container"]/ul/li/a/img')
8 #可以考虑获取 p标签的内容,也就是枪的名称
9 # print(符合要求的img标签)
10 for 一个img标签 in 符合要求的img标签:
11 src的值=一个img标签.get('src')
12 print(src的值)
13 #1. 用加密的字符串作为名称
14 图片的名字=src的值.split('/')[-1]
15 #2. 用实际名称标签p作为名称
16 # 图片的名字=
17 图片网页文件=urlopen('https:'+src的值)
18 图片=图片网页文件.read()
19 with open('imgg/'+图片的名字,mode='wb') as f:
20 f.write(图片)
21 print('下载完毕')

如何用python脚本采集某网图片的更多相关文章

  1. python脚本,重新设置图片大小

    最近在做一个android的电台,此android程序要访问自己服务器上的歌曲文件,包括图片.这些文件要自己手动上传. 每天十首歌,需要二十个图片(一个大图450*450.一个小图140*140). ...

  2. 基于Python爬虫采集天气网实时信息

      相信小伙伴们都知道今冬以来范围最广.持续时间最长.影响最重的一场低温雨雪冰冻天气过程正在进行中.预计,今天安徽.江苏.浙江.湖北.湖南等地有暴雪,局地大暴雪,新增积雪深度4-8厘米,局地可达10- ...

  3. 如何用Python脚本从文件读取数据?

    最近自学Python的进度比较慢,工作之余断断续续的看着效率比较低,看来还是要狠下心来每天进步一点点. 还记得前段时间陈大猫提了一口"先实现用python读取本地文件",碰巧今天看 ...

  4. Python脚本轻松实现批量图片重命名

    ************************************************************************** 摘要:网上爬取的图片名字很混乱,格式也比较多,需要 ...

  5. python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包

    开发环境python2.7.9 os:win-xp exe打包工具pyinstaller 界面tkinter ============================================= ...

  6. 使用Python脚本分析你的网站上的SEO元素

    撰稿马尼克斯德芒克 上2019年1月, Sooda internetbureau Python就是自动执行重复性任务,为您的其他搜索引擎优化(SEO)工作留出更多时间.没有多少SEO使用Python来 ...

  7. 一次针对多台服务器交互式主机命令采集Python脚本编写

    [环境介绍]   系统环境:Linux + Python 2.7.10(监控主机)   [背景描述] 需求:每次节假日或者重要时间时,需要对数据库主机信息进行检查,比如主机空间使用率之类.有时候需要执 ...

  8. 使用python脚本统一重命名训练图片文件名

    Yolo算法,在进行模型训练时,常常使用VOC数据格式. 将图片文件复制到JPEGImages目录下,需要对文件名进行VOC标准格式编号重命名,如2020_000001.jpg,2020_000002 ...

  9. Python实用案例,Python脚本,Python实现每日更换“必应图片”为“桌面壁纸”

    往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 前言: 今天我们就利用python脚本实现每日更换"必应图片& ...

  10. jenkins发布程序触发shell调用python脚本刷新akamai cdn api

    刷新cdn的流程:jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 - ...

随机推荐

  1. vue开发大屏项目屏幕适配问题解决方案

    1.新建自定义指令文件如下: 2.文件中插入一下代码: import { App, Directive, DirectiveBinding, nextTick } from 'vue' import ...

  2. .bash_profile等配置文件

    brew环境 mysql:数据库,装数据用. redis:缓存用. unrar:解压用. docker:虚拟环境用. node:某些项目依赖这个. python环境 command line tool ...

  3. Ubuntu安装Zabbix6.0

    环境 系统:Ubuntu 20.04 虚拟平台:Vmware Workstation 16 PRO 软件版本:Zabbix 6.0 LTS 数据库:PostgreSQL Web服务:Apache 新建 ...

  4. Shapefile导入Oracle

    1. 概述 Shapefile是常用的空间数据文件格式,Oracle数据库是常用的关系型数据库 Oracle数据库包含空间数据库,可以在Oracle中进行空间数据的存储,更详细的信息可参考: 空间数据 ...

  5. redis 集群配置(从0到1)

    1.关闭配置文件 appendonly yes改为no 2.到redis目录下拷贝redis.conf文件 cp ./redis.conf ./7001/ cp ./redis.conf ./7002 ...

  6. 第八周作业-N67044-张铭扬

    1. 完成ftp的mysql虚拟用户 数据库服务器:10.0.0.152 FTP服务器:10.0.0.156 #配置数据库服务器 [root@centos8 ~]# yum -y install ma ...

  7. 学习操作系统P4 理解并发程序执行 (Peterson算法、模型检验与软件自动化工具)

    啊 多一个线程,在状态机里也可以理解为多一个栈帧 啊 啊 啊 错误如下图所示 啊 啊 当只有一个人想上厕所时,只有一个旗子被举起来,因此举旗的人可以直接进厕所 当两个人都想上厕所时,看门上的名字可以判 ...

  8. react native SectionList组件实现多选

    如下图所示: 代码如下: import React, { useRef, Component } from 'react'; import { Platform, Text, View, TextIn ...

  9. vue项目去掉网页滚动条

    点击查看代码 <template> <div id="app"> <router-view /> </div> </templ ...

  10. 性能测试工具locust压测介绍

    官方文档:https://docs.locust.io/en/stable/index.html 1.初识locust Locust 完全基本 Python 编程语言,采用python 编写压测脚本, ...