爬取斗图网图片,使用xpath格式来匹配内容,对请求伪装成浏览器, Referer 防跨域请求
2021/6/4 18:23:40
本文主要是介绍爬取斗图网图片,使用xpath格式来匹配内容,对请求伪装成浏览器, Referer 防跨域请求,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
6.21自我总结一.爬取斗图网
1.摘要
使用xpath匹配规则查找对应信息文件 将请求伪装成浏览器 Referer 防跨域请求
2.爬取代码
#导入模块 import requests #爬取网址 url = 'http://www.doutula.com/' #伪装成成浏览器请求 #找到request200,200代表请求成功的里面的内容,按F12里面找 ''' Referer: http://www.doutula.com/ Referer为防跨域请求,我看了下图片都是这个所有也可以不加上去,这个简单来说就是你只能通过这个网址来找到图片,如果他和url不同我们也把他加入再hearders里面,和下面保存一起 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36 ''' #编程字典,为了把我们请求伪装成浏览器 hearders = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36',} response = requests.get(url,headers=hearders) #hearders是请求头,body是请求主体 #成功拿到响应 #查找的内容 ''' data-original="http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1g48gluqdp6j203c03ct92.jpg" ''' #我们用xpath进行查找 #我们去页面找,他对应的xpath img_xpath = './/img/@data-original' #解析 from lxml.html import etree #把爬取的内容变成html格式 html = etree.HTML(response.text) #我们请求下来的内容要以text格式 #把xpath的匹配规则丢进去 img_url = html.xpath(img_xpath) #print(img_url) #保存文件 #创建个文件夹 import os #创建当前文件夹位置一个img文件夹 img_file_path = os.path.join(os.path.dirname(__file__),'img') #获得文件夹名 if not os.path.exists(img_file_path): #没有文件夹名创建文件夹 os.mkdir(img_file_path) #把图片保存进该文件夹 count = 1 #用于计数 for img in img_url: img_path = os.path.join(img_file_path,f'第{count}张.jpg') #创建图片名称 with open(img_path,'wb') as fw: #获取图片的二进制形式 img_response = requests.get(img) img_response = img_response.content #写入文件 fw.write(img_response) count +=1
这篇关于爬取斗图网图片,使用xpath格式来匹配内容,对请求伪装成浏览器, Referer 防跨域请求的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26手写消息中间件:从零开始的指南
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解