美文网首页Python新世界python热爱者码农的世界
一行Python代码一句注释,大量美女套图等萌新来战!

一行Python代码一句注释,大量美女套图等萌新来战!

作者: Python新世界 | 来源:发表于2018-09-07 19:09 被阅读8次

效果展示:

一行Python代码一句注释,大量美女套图等萌新来战! 此模板主要用于多线程套图下载,不过一般大众爬虫不用破译的都可以改改使用,附件有个美图录的例子。 QQ图片20180808144134.jpg

些基本的html知识,请灵活使用。

添加了断点续传功能,文件夹名称改为套图地址;

一行Python代码一句注释,大量美女套图等萌新来战!

每一句Python源代码后面都有详细注释:

<pre style="box-sizing: border-box; outline: 0px; padding: 8px; margin: 0px 0px 24px; position: relative; white-space: pre-wrap; word-wrap: break-word; overflow-x: auto; font-family: Consolas, Inconsolata, Courier, monospace; font-size: 14px; line-height: 22px; color: rgb(0, 0, 0); word-break: break-all; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">import requests ##参考h踢踢批://docs点python-requests.org/zh_CN/latest/user/quickstart点html
from bs4 import BeautifulSoup ##参考h踢踢批
://beautifulsoup点readthedocs.io/zh_CN/v4.4.0/#id55
import os ##本地写入数据
import urllib.request ##有时直接打开图片地址会显示403 Forbidden,只有先打开相关网页再打开图片才能正常显示,所以我就先打开一下网页,可省略
import re ##正则表达式,用于匹配格式
from multiprocessing import Pool ##多线程

headers = {'User-Agent':"Mozilla/5.0", "Referer": "图库主页"} ##浏览器请求头,有时python直接获取图片时防盗链会踢出,所以我们假装是在用浏览器

def run(url): ##(*)传入图片某分类网页的url

start_html = requests.get(url, headers=headers) ##request该url的html文件
Soup = BeautifulSoup(start_html.text, 'lxml') ##使用BeautifulSoup来解析我们获取到的网页(‘lxml’是指定的解析器 具体请参考官方文档哦)
all_a = Soup.find('div', class_='主体的class名称').find_all('a') ##(*)查找该网页上主体的所有图片

path = url.split('/')[-2] ##(*)网址的最后一个/之前一般是这一类的总称,可作为文件夹名
if not os.path.exists("存储总目录" + "/" + path): ##如果没有这个文件夹的话,创造并进入
os.makedirs("存储总目录" + "/" + path) ##创建一个存放的文件夹
os.chdir("存储总目录" + "/" + path) ##切换到上面创建的文件夹

for a in all_a:

href = a["href"] ##() 获取套图网页的url,可省略
elem = a.img['src'] ##(
) 获取本图片地址
folder = elem.split('/')[-2] ##(*) 获取该套图的名称

length = a.next_sibling.next_sibling.get_text()
max_span = int(length[-17:-14]) ##(*) 找到该套图的网页一共有多少页

html = requests.get(href, headers=headers, allow_redirects=False) ##访问套图网页,并阻止重定向(也是防盗链的一种)
u = urllib.request.urlopen(href) ##真的打开这个网页,可省略

for page in range(1, max_span + 1):

page_url = elem[:-5] + str(page) + ".jpg" ##() 图片地址格式,需要自己探索
print(page_url) ##(
) 打印一下图片地址,可省略

img_html = requests.get(page_url, headers=headers, allow_redirects=False) ##访问图片地址
name = folder + '-' + str(page) ##(*) 图片名格式,套图名称+第几张图

f = open(name+'.jpg', 'ab') ##写入这个图片
f.write(img_html.content) ##多媒体文件要用.content写
f.close()

urls = {'url1', 'url2','url3'} ##这就是各分类的url

pool = Pool(30) ##线程数
for url in urls:
pool.apply_async(run, args=(url))

pool.close()
pool.join()
print('所有图片已下完')
</pre>

一行Python代码一句注释,大量美女套图等萌新来战!

相关文章

  • 一行Python代码一句注释,大量美女套图等萌新来战!

    效果展示: 些基本的html知识,请灵活使用。 添加了断点续传功能,文件夹名称改为套图地址; 每一句Python源...

  • Python注释

    1、单行注释(行注释) Python中使用#表示单行注释。单行注释可以作为单独的一行放在被注释代码行之上,也可以放...

  • python3基础

    注释 python中使用‘#’注释一行代码,多行注释使用""" """ 格式化输出 %s 格式化的内容是字符串类型...

  • Python 代码注释格式

    Python代码 注释 # 注释内容 # 订单模块 HTML代码 注释

  • 1-4homework-2

    结果 我的代码 总结 **1.注释 ** **第一行注释是为了告诉Linux/OS X系统,这是一个Python可...

  • 每日一Python——Python的基本操作和变量

    1.Python的注释 注释的目的是让阅读人员能够轻松读懂每一行代码的意义,同时也为后期代码维护提供便利。在pyt...

  • 使用pycharm中文注释报错解决

    使用pycharm进行编写Python代码时,用中文注释,运行时出现报错: 在代码的第一行加入:#-*- codi...

  • Java基本语法

    注释:单行注释://[用一行注释对代码进行解释说明] 多行注释:/**/ [用多行注释对代码进行解释说明(注释一...

  • python 基本语法

    1.代码注释 python 支持通过 # 进行代码注释 python文件当中是不支持中文的,即使你输入的注释是中文...

  • python-基础篇01

    注释 python语法中的注释 1.单行注释# 表示单行注释(单行注释的范围仅限于一行,只要不回车就算一行) 单行...

网友评论

    本文标题:一行Python代码一句注释,大量美女套图等萌新来战!

    本文链接:https://www.haomeiwen.com/subject/uiqhgftx.html