如何用python脚本采集某网图片

一、前言:

  今天学了两个工具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('下载完毕')

 

posted on 2022-01-08 16:03  小码果  阅读(260)  评论(0编辑  收藏  举报

导航

Live2D