本文共 2408 字,大约阅读时间需要 8 分钟。
写一些水文应该不需要什么排版吧。最近手机图片删光了,需要一些壁纸,恰好在CSDN上看见了一个cos网站。
不过看了众多分类,还是只有中国cos的分类比较好看,而且页码多,难怪别人都只爬这个分类。
import requestsfrom pyquery import PyQuery as pqimport reimport osimport threadingindex = 'http://www.cosplay8.com'def real_img_download(d, real_download_url): try: r = requests.get(real_download_url) r.encoding = r.apparent_encoding doc = pq(r.text) imgs = doc('#bigimg') # print(doc('#bigimg')) for img in imgs.items(): imgurl = index + img.attr('src') print(imgurl) # print(imgurl[imgurl.rfind('/') + 1:]) with open(d + imgurl[imgurl.rfind('/') + 1:], 'wb') as f: f.write(requests.get(imgurl).content) except: print('下载出错')def thumb_img_page(imgurl): pre = imgurl[0:imgurl.rfind('.')] try: r = requests.get(imgurl) r.encoding = r.apparent_encoding doc = pq(r.text) d = doc('h1.font24.yahei.white.normal').text() + '/' print(d) try: os.mkdir('./' + d) except: pass for i in range(1, int(re.findall("\d+", doc('div.pagebox > :first').text())[0]) + 1): # print(pre+'_'+str(i)+'.html') real_img_download(d, pre + '_' + str(i) + '.html') except: print('预览图出错')def index_page(index_url): try: r = requests.get(index_url) r.encoding = r.apparent_encoding doc = pq(r.text) As = doc('div.pagew.center.hauto.pic_list > ul > li > a') # print(As) for a in As.items(): # print(a.attr('href')) imgurl = index + a.attr('href') thumb_img_page(imgurl) except: print('访问主页出错')def start_search(start, end): for n in range(start, end): url = 'http://www.cosplay8.com/pic/chinacos/list_22_' + str(n) + '.html' index_page(url)def n_thread(total, n): m = total // n # 3 for i in range(n): t = threading.Thread(target=start_search, args=((i - 1) * m + 1, m * i + 1)) t.start() if total % n > 0: t = threading.Thread(target=start_search, args=((n - 1) * m + 1, total + 1)) t.start()def main(): n_thread(60, 6) #爬前60页,分6个线程if __name__ == '__main__': main()
写代码已经很累了,懒得写注释,都是些基本操作,没有什么难度,这网站无反爬机制,连请求头都不用加,图片有些大,写这文章的时候还在怕爬,导致我这文章都卡卡的(电脑不太行)。
不知道是不是程序哪儿写得有问题,开多线程爬图片还是很慢,大神们自行更改,如果可以的话希望能评论区给点儿意见。(在下也是新手)
放一些还行的图片吧。(随便一张好看的都在5M大小以上,这里居然放不了,我去…
)转载地址:http://kfqgn.baihongyu.com/