图片爬虫

图片爬虫参考视频学习,堆糖网图片爬虫"""1.URL2.模拟浏览器请求资源3.解析网页4.保存数据到本地"""importrequests#第三方库importurllib.parseimportjsonimportjsonpathurl=’https://www.duitang.com/napi/blog/list/by_search/?kw={}&s…

大家好,又见面了,我是你们的朋友全栈君。

参考视频学习,堆糖网图片爬虫

"""
1.URL
2.模拟浏览器请求资源
3.解析网页
4.保存数据到本地
"""
import requests   #第三方库
import urllib.parse
import json
import jsonpath

url ='https://www.duitang.com/napi/blog/list/by_search/?kw={}&start={}'
label = '校花'
label = urllib.parse.quote(label)
#print(label)
num = 0

for index in range(0, 2400, 24):
    u = url.format(label, index)
    we_data = requests.get(u).text
#    print(we_data)
    html = json.loads(we_data)
    photo = jsonpath.jsonpath(html, "$..path")
    print(photo)
    for i in photo:
        a = requests.get(i)
        with open(r'G:\Python\test\图片爬虫\photo\{}.jpg'.format(num), 'wb') as f:
            f.write(a.content)
        num += 1


 

 以下为自己结合小说爬虫和图片爬虫,对一个图片网站进行的爬取。图片不雅,故网址做了屏蔽,仅供代码学习

import requests
from pyquery import PyQuery

photo = []
num = 3538

def onepage(one_url, oneflag):
    response = requests.get(url=one_url)
    if response.status_code != 200:
        return False
    #print(response.text)
    doc = PyQuery(response.text)
    title = doc('title').text()
    print(title)
    desc = doc('head > meta:nth-child(6)').attr('content')
    print(desc)

    imglist = doc('#main > article > div > p a')
    #print(imglist)
    for dd in imglist.items():
        photo.append(dd.attr('href'))
#        print(dd.attr('href'))

    if oneflag == True:
        with open(r'G:\Python\test\图片爬虫\photo3\说明.txt', encoding='utf-8', mode='a+') as f1:
            f1.write(title+'\n')
        page = doc('#main > article > div > div.page-links a')
        for i in page.items():
            with open(r'G:\Python\test\图片爬虫\photo3\说明.txt', encoding='utf-8', mode='a+') as f1:
                f1.write(i.attr('href')+'\n')
            print(i.attr('href'))
            onepage(i.attr('href'), False)
        with open(r'G:\Python\test\图片爬虫\photo3\说明.txt', encoding='utf-8', mode='a+') as f1:
            f1.write('\n\n\n')


for j in range(143, 1000):
    url = 'https://******.com/blog/archives/'+str(j)
    photo = []
    if onepage(url, True)==False:
        continue
    print(j)
    print(photo)
    for i in photo:
        a = requests.get(i)
        with open(r'G:\Python\test\图片爬虫\photo3\{}-{}.jpg'.format(j, num), 'wb') as f2:
            f2.write(a.content)
        num += 1

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149759.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python安装scrapy库

    Python安装scrapy库由于本人在安装scrapy库的道路上遇到过很多坑,由此不能再坐视不管,来帮帮广大同胞首先在此网站https://www.lfd.uci.edu/~gohlke/pythonlibs/找到twisted库:在此中间找适合自己电脑配置的文件twisted下载然后用命令行进入此目录然后再命令行执行pipinstall+"你所下载的那个文件名"+"(注意这里有个点).wh…

  • 虚拟化之vmware-网络

    虚拟化之vmware-网络

  • mfc怎么把cstring转换成int(string型转化为int型)

       m_ed.GetWindowTextW(str);  char*time;  time=(char*)(LPCTSTR)str;  inttiti;  titi=atoi(time); 网上搜索了很久.也没有找到好的转换 然后我偶然的试了这个方法..没想到可以成功转换==#  

  • Django设置超时时间_python获取当前时间戳

    Django设置超时时间_python获取当前时间戳前言我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,所以我们存储在数据库中的时间是UTC的时间,但是当我们做的网站只面向国内用户,或者只是提供内部平台使用,我们希望存储在

  • java怎么键盘录入字符串

    java怎么键盘录入字符串-java怎么键盘录入字符串如图所示:来看一下每句代码的意思:先写上:importjava.util.Scanner//导入java.util包下的Scanner类,导入后才能使用它接着:Scanner.sc=newScanner(System.in);//new是指创建了一个scanner类,在创建Scanner类的对象时要用System.in作为…

  • 开通阿里云短信服务

    开通阿里云短信服务阿里云短信服务1,阿里云用户权限操作1.1、找到后台放在个人头像上面选择AccessKey管理1.2、选择子用户1.3、创建用户组1.4、给用户组添加权限然后就可以看到你的权限里面多了一个sms的短信权限1.5、创建用户注意!注意!注意点击确认后只可以看到一次密码返回就看不到了注意!注意!注意点击确认后只可以看到一次密码返回就看不到了注意!注意!注意点击确认后只可以看到一次密码返回就看不到了1.6、把用户加入到用户组2、开通阿里云短信服务

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号