Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ryanxhl
newprogram
提交
ad068a30
N
newprogram
项目概览
Ryanxhl
/
newprogram
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
newprogram
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ad068a30
编写于
1月 23, 2018
作者:
Ryanxhl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add 2 files
上级
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
74 addition
and
0 deletion
+74
-0
28.py
28.py
+72
-0
readme.txt
readme.txt
+2
-0
未找到文件。
28.py
0 → 100644
浏览文件 @
ad068a30
import
requests
from
lxml
import
html
import
os
import
time
def
header
(
referer
):
headers
=
{
'Host'
:
'i.meizitu.net'
,
'Pragma'
:
'no-cache'
,
'Accept-Encoding'
:
'gzip, deflate'
,
'Accept-Language'
:
'zh-CN,zh;q=0.8,en;q=0.6'
,
'Cache-Control'
:
'no-cache'
,
'Connection'
:
'keep-alive'
,
'User-Agent'
:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/59.0.3071.115 Safari/537.36'
,
'Accept'
:
'image/webp,image/apng,image/*,*/*;q=0.8'
,
'Referer'
:
'{}'
.
format
(
referer
),
}
return
headers
# 获取主页列表
def
getPage
(
pageNum
):
baseUrl
=
'http://www.mzitu.com/xinggan/page/{}'
.
format
(
pageNum
)
selector
=
html
.
fromstring
(
requests
.
get
(
baseUrl
).
content
)
urls
=
[]
for
i
in
selector
.
xpath
(
'//ul[@id="pins"]/li/a/@href'
):
urls
.
append
(
i
)
print
(
i
)
return
urls
# 图片链接列表, 标题
# url是详情页链接
def
getPiclink
(
url
):
sel
=
html
.
fromstring
(
requests
.
get
(
url
).
content
)
# 图片总数
total
=
sel
.
xpath
(
'//div[@class="pagenavi"]/a[last()-1]/span/text()'
)[
0
]
# 标题
title
=
sel
.
xpath
(
'//h2[@class="main-title"]/text()'
)[
0
]
# 文件夹格式
dirName
=
u
"【{}P】{}"
.
format
(
total
,
title
)
# 新建文件夹
os
.
mkdir
(
dirName
)
n
=
1
for
i
in
range
(
int
(
total
)):
# 每一页
try
:
link
=
'{}/{}'
.
format
(
url
,
i
+
1
)
s
=
html
.
fromstring
(
requests
.
get
(
link
).
content
)
# 图片地址在src标签中
jpgLink
=
s
.
xpath
(
'//div[@class="main-image"]/p/a/img/@src'
)[
0
]
# print(jpgLink)
# 文件写入的名称:当前路径/文件夹/文件名
filename
=
'%s/%s/%s.jpg'
%
(
os
.
path
.
abspath
(
'.'
),
dirName
,
n
)
print
(
u
'开始下载图片:%s 第%s张'
%
(
dirName
,
n
))
with
open
(
filename
,
"wb+"
)
as
jpg
:
jpg
.
write
(
requests
.
get
(
jpgLink
,
headers
=
header
(
jpgLink
)).
content
)
n
+=
1
except
:
pass
if
__name__
==
'__main__'
:
pageNum
=
input
(
u
'请输入页码:'
)
p
=
getPage
(
pageNum
)
for
e
in
p
:
print
(
e
)
getPiclink
(
e
)
# lxml的报错
time
.
sleep
(
2
)
\ No newline at end of file
readme.txt
0 → 100644
浏览文件 @
ad068a30
爬虫
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录