打开网址 查看网页结构(推荐学习:Python视频教程)
用火狐浏览器打开链接 F12查看
由于我使用的pyquery
可以看到图片的链接 都在img标签的src属性中 我们只要通过pyquery锁定到这个img标签 就可以继续下一步了
我们先来尝试抓取一页的壁纸试试看
下面是具体的代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/10/31 17:54
# 爬取图片
import requests
from pyquery import PyQuery as pq
import time
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 '
'(KHTML, pke Gecko) Chrome/52.0.2743.116 Safari/537.36'
}
# 这里我使用了代理 你可以去掉这个代理IP 我是为了后面大规模爬取做准备的
proxies = {
'https': '218.75.69.50:39590'
}
# 请求网页 获取源码
def start_request(url):
r = requests.get(url, headers=headers, proxies=proxies)
# 这个网站页面使用的是GBK编码 这里进行编码转换
r.encoding = 'GBK'
html = r.text
return html
# 解析网页 获取图片
def parse(text):
doc = pq(text)
# 锁定页面中的img标签
images = doc('div.pst ul p img').items()
x = 0
for image in images:
# 获取每一张图片的链接
img_url = image.attr('src')
# 获得每张图片的二进制内容
img = requests.get(img_url, headers=headers, proxies=proxies).content
# 定义要存储图片的路劲
path = "F:image" + str(x) + ".jpg"
# 将图片写入指定的目录 写入文件用"wb"
with open(path, 'wb') as f:
f.write(img)
time.sleep(1)
print("正在下载第{}张图片".format(x))
x += 1
print("写入完成")
def main():
url = "http://www.netbian.com"
text = start_request(url)
parse(text)
if __name__ == "__main__":
main()
更多Python相关技术文章,请访问Python教程栏目进行学习!
以上就是小编分享的关于python怎么爬图片的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!