吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4445|回复: 7
收起左侧

[Python 转载] Python3 爬取k站图片

[复制链接]
落寒枫 发表于 2019-1-31 16:06
二次元,见谅见谅。
刚刚学习,写了个爬取K站图片的爬虫。
感觉定义了好多函数,然后还不如不定义,,请大佬指教一下。

#coding = utf-8
from urllib import request
from bs4 import BeautifulSoup
import os, re, time, urllib, chardet

def Write(content):
        now = time.strftime("%Y%m%d",time.localtime(time.time()))
        file = open(now+".txt","a+")
        file.writelines(content+'\n')
        file.close()

def GetHtml(url):
        html = request.urlopen(url).read()
        rawdata = chardet.detect(html)
        return html.decode(rawdata['encoding'])

def GetImg(html):
        soup = BeautifulSoup(html,'lxml')
        img_html = soup.find_all('li', class_ = re.compile('creator'))
        #img_html = soup.select('.magazine_wrap')
        return img_html

def GetImgHtml(img_html):
        html_img = request.urlopen(img_html).read()
        #htmldata = chardet.detect(html_img)
        #return(htmldata['encoding'])
        return html_img#.decode(encoding = htmldata['encoding'])

def GetImgData(html_img):
        soup = BeautifulSoup(html_img,'lxml')
        img = soup.select('#image')
        for src in img:
                img_src = src.get('src')
        return(img_src)

page = num = 1
sum = int(input("请输入下载页数:"))
while page <= sum:
        Target_url = 'http://konachan.net/post?page={}'.format(page)
        html = GetImg(GetHtml(Target_url))
        print("正在下载第",page,"页")
        page+=1

        for i in html:
                src = i.text[4:40]
                Write(src)
               
                down = GetImgData(GetImgHtml(src))
                urllib.request.urlretrieve(down,"{}.jpg".format(num))
                print("正在下载第",num,"张")
                print(src)
                num+=1
       
print("下载完毕")
os.system('pause')

捕获.PNG

免费评分

参与人数 1吾爱币 +1 收起 理由
吾爱支持 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

byxiaoxie 发表于 2019-1-31 18:51
这有个问题,下载不了原图PNG你还得再爬一个链接才行,不过支持一下我也是在学python
林海山河 发表于 2019-1-31 19:06
后期加上异常判断和保存进度,如果网站允许的话可以加上多线程
吾爱支持 发表于 2019-1-31 20:32
感谢楼主分享源码,学习了……。送上我的分分和祝福
 楼主| 落寒枫 发表于 2019-2-1 11:26
byxiaoxie 发表于 2019-1-31 18:51
这有个问题,下载不了原图PNG你还得再爬一个链接才行,不过支持一下我也是在学python

本来准备下载原图png格式的,可是看了街图片发现只有一些有,所以我就放弃了
 楼主| 落寒枫 发表于 2019-2-1 11:32
林海山河 发表于 2019-1-31 19:06
后期加上异常判断和保存进度,如果网站允许的话可以加上多线程

还没有学到多线程,所以现在这个小程序如果一次性输入的下载页数过多,到后面就卡死了,
byxiaoxie 发表于 2019-2-1 12:41
落寒枫 发表于 2019-2-1 11:32
还没有学到多线程,所以现在这个小程序如果一次性输入的下载页数过多,到后面就卡死了,

多线程我还没学会,一点困难
多幸运遇见baby 发表于 2019-2-3 08:46
谢谢@Thanks!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 17:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表