python中实现网页解析_基于python实现获取网页图片过程解析

环境:python3, 要安装bs4这个第三方库

获取请求头的方法

这里使用的是Chrome浏览器。

打开你想查询的网站,按F12,或者鼠标右键一下选择检查。会弹出如下的审查元素页面:

然后点击上方选项中的Network选项:

此时在按Ctrl+R:

选择下方框中的第一个,单击:

选择Headers选项,其中就会有Request Headers,包括你需要的信息。

介绍:这个程序是用来批量获取网页的图片,用于新手入门

注意:由于是入门的程序在获取某些网页的图片时会出问题!!!!!

import os

import urllib.request

from bs4 import BeautifulSoup

# 网址

url = "http://www2017.tyut.edu.cn/"

# 建立请求对象

request = urllib.request.Request(url)

# 加入请求头(一定要换成自己的!!!!)

request.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36')

# 获取请求

code = urllib.request.urlopen(request)

# 得到html代码

html = code.read().decode('utf-8')

# 将html的标签转成对象(方便后面的操作)

bs = BeautifulSoup(html, 'html.parser')

# 提取所有的img标签

imagesUrl = bs.find_all('img')

sources = []

# 建立存放的路径(路径一定要存在!!!!!!)

filepath = os.getcwd() + '\\images\\'

def createFile(path: str, fpath):

urllib.request.urlretrieve(path, fpath)

# 获取图片的路径(网址+img标签的src属性的值)

for img in imagesUrl:

sources.append(url + str(img.get('src')))

for src in sources:

# 用split是防止请求带参

baseName = os.path.basename(src).split('?')

# 图片名

fileName = filepath + baseName[0]

print("url=" + src, "filename=" + fileName)

createFile(src, fileName)

print('这次您一共下载了图片' + str(len(sources)) + '张')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值