python 批量batch python 批量打开网页并截图 您所在的位置:网站首页 ubuntu怎么打开网页 python 批量batch python 批量打开网页并截图

python 批量batch python 批量打开网页并截图

2023-06-28 02:21| 来源: 网络整理| 查看: 265

今天"无意"看美女无意溜达到一个网站,发现妹子多多,但是可恨一个page只显示一张或两张图片,家里WiFi也难用,于是发挥"程序猿"的本色,写个小脚本,把图片扒下来再看,类似功能已有不少大师实现了,但本着学习锻炼的精神,自己折腾一遍,涨涨姿势!

先来效果展示下:

python代码:

python 批量batch python 批量打开网页并截图_python 批量batch

python 批量batch python 批量打开网页并截图_python 批量batch_02

# -*- coding:utf8 -*- import urllib2 import re import requests from lxml import etree import os def check_save_path(save_path): try: os.mkdir(save_path) except: pass def get_image_name(image_link): file_name = os.path.basename(image_link) return file_name def save_image(image_link, save_path): file_name = get_image_name(image_link) file_path = save_path + "\\" + file_name print("准备下载%s" % image_link) try: file_handler = open(file_path, "wb") image_handler = urllib2.urlopen(url=image_link, timeout=5).read() file_handler.write(image_handler) file_handler.closed() except Exception, ex: print(ex.message) def get_image_link_from_web_page(web_page_link): image_link_list = [] print(web_page_link) try: html_content = urllib2.urlopen(url=web_page_link, timeout=5).read() html_tree = etree.HTML(html_content) print(str(html_tree)) link_list = html_tree.xpath('//p/img/@src') for link in link_list: # print(link) if str(link).find("uploadfile"): image_link_list.append("http://www.xgyw.cc/" + link) except Exception, ex: pass return image_link_list def get_page_link_list_from_index_page(base_page_link): try: html_content = urllib2.urlopen(url=base_page_link, timeout=5).read() html_tree = etree.HTML(html_content) print(str(html_tree)) link_tmp_list = html_tree.xpath('//div[@class="page"]/a/@href') page_link_list = [] for link_tmp in link_tmp_list: page_link_list.append("http://www.xgyw.cc/" + link_tmp) return page_link_list except Exception, ex: print(ex.message) return [] def get_page_title_from_index_page(base_page_link): try: html_content = urllib2.urlopen(url=base_page_link, timeout=5).read() html_tree = etree.HTML(html_content) print(str(html_tree)) page_title_list = html_tree.xpath('//td/div[@class="title"]') page_title_tmp = page_title_list[0].text print(page_title_tmp) return page_title_tmp except Exception, ex: print(ex.message) return "" def get_image_from_web(base_page_link, save_path): check_save_path(save_path) page_link_list = get_page_link_list_from_index_page(base_page_link) for page_link in page_link_list: image_link_list = get_image_link_from_web_page(page_link) for image_link in image_link_list: save_image(image_link, save_path) base_page_link = "http://www.xgyw.cc/tuigirl/tuigirl1346.html" page_title = get_page_title_from_index_page(base_page_link) if page_title "": save_path = "N:\\PIC\\" + page_title else: save_path = "N:\\PIC\\other\\" get_image_from_web(base_page_link, save_path)

View Code

 

代码思路:

使用urllib2.urlopen(url).open来获取页面数据,再使用etree.HTML()将页面解析成xml格式,方便使用xmlpath方式来获取特定node的值,最终遍历所有页面得到要下载的图片,将图片保存到本地。

--=========================================================

python包安装:

很多python包没有windows安装包,或者没有X64版本的安装包,对于新手来说,很难快速上手,可以使用pip或easy_install来安装要使用的安装包,相关安装方式:https://pypi.python.org/pypi/setuptools

本人采用easy_install方式,我电脑安装python2.7,安装路径为:C:\Python27\python.exe,下载ez_setup.py文件后到c盘保存,然后运行cmd执行以下命令:

C:\Python27\python.exe "c:\ez_setup.py"

即可安装easy_install,安装结束后可以C:\Python27\Scripts下看到easy_install-2.7.exe,如果我们想在本地安装requests包,那么可以运行以下命令来试下:

"C:\Python27\Scripts\easy_install-2.7.exe" requests

--==========================================================

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有