本文共 2238 字,大约阅读时间需要 7 分钟。
唯美女生:
少女情怀总是诗,一双发现美的眼睛!
工具:Python3.7,PyCharm
程序所需用到的模块:requests,fake_useragent,parsel,os,time
所使用的解析器:xpath
明确我们需要爬取哪个图片集的图片资源,这里以少女情怀总是诗为例。
按F12打开开发者工具
这里可以看见,选择 a 标签中的 href 属性或者 img 标签中的 src 属性都是可以的,我这里就选择 a 标签中的 href属性
""" Python爬取 https://www.vmgirls.com/ 网站的图片"""import requestsfrom fake_useragent import UserAgentimport parselimport timeimport osclass VmGirlsPhotos(object): """ 类说明:下载 vmgirls图片网站的《少女情怀总是诗》图集 """ def __init__(self): self.server = "https://www.vmgirls.com/" self.target = "https://www.vmgirls.com/13344.html" self.headers = { "User-Agent": UserAgent().random} self.dir_name = "F:\Python\爬虫资源\girls图片资源\\" self.urls = [] # 存放图片链接地址 def isDir_existed(self): """ 函数说明:判断当前目录是否存在,没有则创建 :return: """ if not os.path.exists(self.dir_name): os.mkdir(self.dir_name) def get_urls(self): """ 函数说明:获取每张图片的链接 :return: """ """ 请求网页 """ response = requests.get(url=self.target, headers=self.headers) html = response.text """ 解析网页 """ selector = parsel.Selector(html) # 返回的是所有的图片链接地址的列表 url_list = selector.xpath('.//div[@class="nc-light-gallery"]/p/a/@href').getall() for url in url_list: self.urls.append(self.server + url) def write(self, dir_name, url): """ 函数说明:下载图片 :return: """ # https://www.vmgirls.com/image/2019/12/2019122411001976-scaled.jpeg # 2019122411001976-scaled.jpeg 就作为保存图片的名称 fileName = url.split('/')[-1] response = requests.get(url=url, headers=self.headers) with open(dir_name + fileName, 'wb') as file: file.write(response.content) file.close()if __name__ == '__main__': print("<<<<<=====图片资源开始下载=====>>>>>") vp = VmGirlsPhotos() vp.isDir_existed() vp.get_urls() print("图片资源有{}张".format(len(vp.urls))) for i in range(len(vp.urls)): vp.write(vp.dir_name, vp.urls[i]) print("正在下载第{}张图片".format(str(i + 1))) time.sleep(1) print("<<<<<=====图片资源下载完成=====>>>>>")
做一个文明守法的好网民,不要爬取公民的隐私数据,不要给对方的系统带来不必要的麻烦
此篇博客仅作学习用途
转载地址:http://tkiwi.baihongyu.com/