Xpath网上批量下载

import os import urllib.request from lxml import etree #下载数据 def download_img(src_list, name_list): dir_path="./bf-girl" for i in range(len(name_list)): #截取后缀名 suffix=os.path.splitext(src_list[i])[-1] #得到图片全路径 file_path=os.path.join(dir_path,name_list[i]+suffix) try: #下载 urllib.request.urlretrieve(src_list[i],file_path) print("%s---download finsh" %file_path) except Exception as e: print("%s---file missing!" % file_path) #发送请求并获取响应数据以及通过Xpath解析数据 def get_data(req): #发起请求 res=urllib.request.urlopen(req) html=res.read().decode("utf-8") html_etree=etree.HTML(html) src_list= html_etree.xpath("//div[@id='container']/div/div/a/img/@src2") name_list = html_etree.xpath("//div[@id='container']/div/div/a/img/@alt") # print(len(src_list)) download_img(src_list,name_list) #构建请求对象 def build_req(url): headers ={ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } req = urllib.request.Request(url=url,headers=headers) return req def main(): start_page=int(input("请输入起始页码:")) end_page = int(input("请输入结束页码:")) #临时地址 tem_url = "http://sc.chinaz.com/tupian/rentixiezhen" for page in range(start_page,end_page+1): if page != 1: url = tem_url+"_"+str(page)+".html" else: url = tem_url+".html" req=build_req(url) get_data(req) if __name__ == "__main__": main()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 上文红老头谈到蓝白料的瓷度问题,那么如何挑选瓷度高的白蓝料就变得非常重要。 之前红老头跟玩白蓝料的玩家也交流过,有...
    迷藏文玩阅读 8,700评论 0 0
  • 相遇在那棵缀满樱花的大树下,漫天飞舞的樱花,单纯的微笑,只一眼,心便深深的沉沦,心中的那份情感愈涨愈满,只...
    壹個人行走在路上阅读 3,184评论 0 4
  • 星星属于蓝色的海 海洋属于白色的云 云陷到冬天的风里 变成了老爷爷手里的棉花糖 变成了你喜欢的兔子鞋和毛帽子 醉 ...
    稻七阅读 3,746评论 1 4

友情链接更多精彩内容