# -*- coding: utf-8 -*- from selenium import webdriver from time import sleep import os import requests #批量下载漫画 #https://manhua.sfacg.com/ #创建文件夹 def creatDir(path): if not os.path.exists(path): os.mkdir(path) #保存图片的方法 def savePic(path,page,url): #通过requests库爬取 content=requests.get(url).content path=path+'//'+page+'.png' with open(path,'wb') as f: f.write(content) def get_info(): ''' 获取漫画的目录中的每一章节的url连接 并返回一个字典类型k:漫画名 v:章节链接 ''' url_list = [] diver=webdriver.Chrome() diver.get('https://manhua.sfacg.com/mh/wqds/') # 找到漫画标题 并创建目录 title=diver.find_element_by_tag_name('h1').text print (title) #查询出集合 li_list=diver.find_elements_by_class_name('comic_Serial_list') print(len(li_list)) for li in li_list: #寻找所有的a标签查询集合是elements a_list=li.find_elements_by_tag_name('a'); for a in a_list: #print(a.get_attribute('href')) url_list.append(a.get_attribute('href')) #关闭浏览器 #diver.quit() #存入字典 com=dict(name=title,urls=url_list) return com def get_pic(Comics): ''' 打开每个章节的url, 找到漫画图片的地址, 并写入到本地 ''' urls=Comics['urls'] name=Comics['name'] diver = webdriver.Chrome() a=0 for url in urls: #这是就打开了漫画的界面的章节首页 diver.get(url) diver.implicitly_wait(3) a+=1 # 创建文件夹,保存漫画 path = 'C://Users//Administrator//Desktop//img//' + name creatDir(path) path=path +"//"+'第'+ str(a) +'章' creatDir(path) #查看总共有多少页, ''' <select id="pageSel" onchange="GoSelPage()"><option value="1">第1页</option><option value="2">第2页</option> <option value="3">第3页</option><option value="4">第4页</option><option value="5">第5页</option><option value="6">第6页 </option><option value="7">第7页</option><option value="8">第8页</option><option value="9">第9页</option></select> ''' pages=diver.find_elements_by_tag_name('option') print(len(pages)) # 找到下一页的按钮 #<a href="javascript:NextPage();" class="redfont_input">下一页</a> nextpage = diver.find_element_by_xpath('//*[@id="AD_j1"]/div/a[4]') for page in range(len(pages)): #图片的地址 #<img alt="快捷键:A下翻页,Q上翻页" border="0" id="curPic" src="http://coldpic.sfacg.com/Pic/OnlineComic4/wqds/ZP/0072_4701/023_997.jpg"> pic_url=diver.find_element_by_id('curPic').get_attribute('src') savePic(path,str(page),pic_url) nextpage.click() com=get_info() get_pic(com)
python爬虫十四:selenium模拟浏览器+chrome 批量下载漫画
猜你喜欢
转载自blog.csdn.net/qq_38788128/article/details/80533925
今日推荐
周排行