爬取绝对领域jk制服区全图片 新人笔记

30 篇文章 0 订阅
3 篇文章 0 订阅

先上图:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

整了半天的python爬取绝对领域图片现在终于完成了目前是2.0版本后续会继续更新

代码去存在冗余,关键的失误存在在不知道为什么写了两个列表类型,这个完全可以不建立的,所以后续会将这个给删除。
还有一个方面就是,文件的命名过于随意,后续版本会继续将命名这个给搞好。其他的也没什么了,在html信息的提取上,这里推荐使用xpath解析,之前尝试使用过re表达式进行检索但没有查找到结果,所以还是选择了xpath解析,如果re表达式在这个地方上可以使用欢迎评论交流。

#这个仅仅是自己学习爬虫时的笔记

import requests
import time
import os
from lxml import etree
import random

ls = []
ls1 = []
dir_names = str(random.randint(0,3000))
for i in range(1,18):
    url = "https://www.jdlingyu.com/tag/jk%E5%88%B6%E6%9C%8D/page/" + str(i)
    ls.append(url)    #这个地方得到了全部的第一个大界面的url

    try:
        kv = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',
              'cookie': r'cna=9EuxFwEUg24CAW8Qpl3II/z1; sca=afb25839; atpsidas=76f3e950933a16bde28ebb67_1599747288_1; cad=174785e6f47-5694443099097246860001; cap=4781; atpsida=d8a9f5429d555e162041fd07_1599828063_1'}
        response = requests.get(ls[i - 1],headers = kv)
        response.encoding = response.apparent_encoding
    except:
        print("链接失效")
    
    
    html = response.text
    respones=etree.HTML(response.text)
    urls = url_data=respones.xpath('//div[@class="post-module-thumb"]/a/@href')
#这已经得到了所有的小页面的url
    
  
    ls1.append(urls)

if __name__ == '__main__':    
    for x in ls1:                                               #循环得到17个页面包含的小页面的url
         true_url = x
         for j in x:
             endurl = j                    #得到了全部的小urls
             
             try:
                 kv = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',
                   'cookie': 'UM_distinctid=173f68b85e014a-07e183ba16b38c-3f6b4b05-144000-173f68b85e126d; Hm_lvt_2ae74021fe55d754e2dba2ce56ff1a11=1597572093,1598672462,1599824905,1599824915; CNZZDATA1259270526=1338101525-1597564269-%7C1599827958; Hm_lpvt_2ae74021fe55d754e2dba2ce56ff1a11=1599832845'}
                 endresponse = requests.get(j,headers = kv)
                 response.encoding = response.apparent_encoding
         
             except:
                 print("程序运行失败!")
             endhtml = endresponse.text                     #对小页面的url进行分析提取
             endresponse = etree.HTML(endresponse.text)
             url_list = endresponse.xpath('//div[@class="entry-content"]//img/@src')    #获取到了每张图片的URL
                 
             print("页面获取成功。接下来进行的是页面的存储。")

             #这里为了方便表示我将每一个图片的url都打印出来了,方便对照,如果感觉不合适可以自行修改。
     
             for urla in url_list:
                 print(urla)

                 if not os.path.exists(dir_names):     
                     os.mkdir(dir_names)
                 time.sleep(1)
                 file_name = urla.split('/')[-1]
                 response1 = requests.get(urla,headers=kv)
                 with open (dir_names + '/' + file_name,'wb') as f:
                     f.write(response1.content)
                     

#一个学生物的编程爱好者
#这一串代码的重点区域在于对于爬虫代码的循环的理解

关于绝对领域图片爬取的1.0版本网址:https://blog.csdn.net/SUMPLUSS/article/details/108041949?utm_source=app

博客技术拙劣,希望能帮助到你们。
在这里插入图片描述
注:图片如有侵权联系本人删除。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终是蝶衣梦晓楼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值