php抓取网页所有图片( Excel教程Excel函数Excel透视表Excel电子表格Excel实用技巧Excel2010-12-10 )

优采云 发布时间: 2021-12-16 16:09

  php抓取网页所有图片(

Excel教程Excel函数Excel透视表Excel电子表格Excel实用技巧Excel2010-12-10

)

  Python3抓取网络图片

  时间:2021-12-10

  本文章为大家介绍使用Python3采集网络图片,包括Python3采集网络图片示例、应用技巧、基础知识点总结、注意事项。有一定的参考价值,有需要的朋友可以参考。

  一、普通爬取方法

  没有头部信息,网站没有任何可用的防爬措施。喜欢

  #-*- encoding:utf-8 -*-

"""

@desc 抓取普通网络图片

@author Sanplit

"""

import os

import re

import urllib.request

input_url = input('Please input your url: ')

# input_url = 'http://pic.ziweidan.com'

#根据给定的网址来获取网页详细,得到网页的源码

def getHtml(url):

html = urllib.request.urlopen(input_url).read().decode('utf8')

return html

#目录是否存在,不存在则创建

def createDir(path):

if not os.path.exists(path):

os.makedirs(path)

else:

if os.path.isfile(path):

os.mkdir(path)

#保存图片

def saveImg(imgList, path = 'img2\\'):

createDir(path)

imgIndex = 1

for imgUrl in imgList:

#打开imgList中保存的图片网址,并下载图片保存在本地,format格式化字符

urllib.request.urlretrieve(imgUrl,'{}{}.jpg'.format(path,imgIndex))

imgIndex += 1

print('------ over -------')

html = getHtml(input_url)

#匹配图片标签

reg = r'src="(.+?\.jpg|png|gif)"'

imgre = re.compile(reg, re.I)

imglist = re.findall(imgre, html)

if len(imglist):

saveImg(imglist)

else:

print('game over! No img to spider')

  第二种,浏览器伪装访问爬取

  必须有header信息,如User-Agent、Referer等,否则访问会被拒绝,无法爬取

  headers = {

'Accept':'application/json, text/plain, */*',

'Accept-Language':'zh-CN,zh;q=0.3',

'Referer':'https://item.taobao.com/item.htm',

'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',

'Connection':'keep-alive',

}

# 定义代理

proxy_addr = {

'http': '88.146.227.253:8080'

}

# details_content = requests.get(input_url, headers=headers,proxies = proxy_addr).text

details_content = requests.get(input_url, headers=headers,proxies = proxy_addr).content.decode('gbk', 'ignore')

html = etree.HTML(details_content)

###XPath匹配

imgList = html.xpath('//img/@src')

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线