好久不见呀,各位。[/坏笑]
自从上次发布文章已经过去了许久,之前承诺过的2.0版本我就现在嘛出来吧。(毕竟,评论区都已经开始催了,拖不了了...)
emm...具体的网页链接我就不写在正文了,我会放在代码区的注释部分。
闲话不多说,下面就是本次更新的代码:
# 目标网址:https://www.xiurenb.com
# 导入库
import time, os, requests
from lxml import etree
from urllib import parse
# 定义请求头
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'
}
# 格式化列表
img_list = []
url_list = []
page_list = []
# 编码输入数据
human_unencode = input('Enter the human_name:')
human_encode = parse.quote(human_unencode)
# 编码后索引url
url_human = 'https://www.xiurenb.com/plus/search/index.asp?keyword=' + str(human_encode) + '&searchtype=title'
# 获取指定人物写真集列表页数
res_first = requests.get(url=url_human, headers=headers)
tree_first = etree.HTML(res_first.text)
Num_first = len(tree_first.xpath('/html/body/div[3]/div[1]/div/div/ul/div[3]/div/div[2]/a'))
print(f'Page_total:{Num_first})
# 获取指定页数的每个写真集的url并写入列表
i = input('Enter the PageNumber:)
print(f'Getting the page-{i}...')
res_human = requests.get(url_human + '&p=' + str(i))
tree_human = etree.HTML(res_human.text)
jihe_human = tree_human.xpath('/html/body/div[3]/div[1]/div/div/ul/div[3]/div/div[1]/div/div[1]/h2/a/@href')
for page in jihe_human:
page_list.append(page)
time.sleep(2)
# 获取每个写真集的全部图片
for Page_Num in page_list:
url = 'https://www.xiurenb.com' + str(Page_Num)
Num_res = requests.get(url=url, headers=headers)
Num_tree = etree.HTML(Num_res.text)
Num = len(Num_tree.xpath('/html/body/div[3]/div/div/div[4]/div/div/a'))
url_list.append(url)
for i in range(1, int(Num) - 2):
url_other = url[:-5] + '_' + str(i) +'.html'
url_list.append(url_other)
# 获取所有图片url
for url_img in url_list:
res = requests.get(url=url_img, headers=headers)
tree = etree.HTML(res.text)
img_src = tree.xpath('/html/body/div[3]/div/div/div[5]/p/img/@src')
for img in img_src:
img_list.append(img)
time.sleep(0.5)
# 创建保存目录
res = requests.get(url=url_list[0], headers=headers)
res.encoding = 'utf-8'
tree = etree.HTML(res.text)
path_name = tree.xpath('/html/body/div[3]/div/div/div[1]/h1//text()')[0][11:]
print(path_name)
if not os.path.exists(f'C:/Users/liu/Pictures/{human_unencode}'):
os.mkdir(f'C:/Users/liu/Pictures/{human_unencode}')
the_path_name = f'C:/Users/liu/Pictures/{human_unencode}/' + path_name
if not os.path.exists(the_path_name):
os.mkdir(the_path_name)
# 保存图片数据
num = 0
for j in img_list:
img_url = 'https://www.xiurenb.com' + j
img_data = requests.get(url=img_url, headers=headers).content
img_name = img_url.split('/')[-1]
finish_num = str(num) + '/' + str(len(img_list))
with open(f'C:/Users/liu/Pictures/{human_unencode}/' + path_name + '/' + img_name, 'wb') as f:
print(f'Downloading the img:{img_name}/{finish_num}')
f.write(img_data)
f.close()
num += 1
time.sleep(0.5)
# 再次格式化列表
img_list = []
url_list = []
else:
print('gone>>>')
# 再次格式化列表
img_list = []
url_list = []
# 输出结束提示
print('Finished!')
这次代码比较长,我就不一一解释了。这里需要注意的是,记得把保存路径换成自己的,毕竟用户名不同。
这个版本就是通过人名搜索写真集,比如:唐安琪。运行代码时输入想要搜索的内容,中间再输入想要下载的页数就可以了。
如果有什么其他问题的话,可以评论区问我。
当然,如果我解决不了的话我会去补课的[/痛哭],毕竟我学python也没多久...
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题1)我想知道rubyonrails是否有功能类似于primefaces的gem。我问的原因是如果您使用primefaces(http://www.primefaces.org/showcase-labs/ui/home.jsf),开发人员无需担心javascript或jquery的东西。据我所知,JSF是一个规范,基于规范的各种可用实现,prim
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem
是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案