当前位置: 首页 > news >正文

宁波电器网站制作/山西百度查关键词排名

宁波电器网站制作,山西百度查关键词排名,宜昌营销网站建设,服装网站开发目的什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 优点:自动处理url编码 自动处理post请求参数 简化cookie和代理操作 如何使用req…

什么是requests模块

  requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。

  优点:自动处理url编码

     自动处理post请求参数

     简化cookie和代理操作

如何使用requests模块

  安装: pip install requests

  使用流程: 指定url

        基于requests模块发起请求

        获取响应对象中的数据值

        持久化存储

请求载体身份标识的伪装:

  • User-Agent:请求载体身份标识,通过浏览器发起的请求,请求载体为浏览器,则该请求的User-Agent为浏览器的身份标识,使用爬虫程序发起的请求,则该请求的载体为爬虫程序,则该请求的User-Agent为爬虫程序的身份标识。可以通过判断该值来获知该请求的载体究竟是基于哪款浏览器还是基于爬虫程序。

  • 反爬机制:某些门户网站会对访问该网站的请求中的User-Agent进行捕获和判断,如果该请求的UA为爬虫程序,则拒绝向该请求提供数据。

  • 反反爬策略:将爬虫程序的UA伪装成某一款浏览器的身份标识。

session处理cookie

cookie概念:当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。

cookie作用:我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了,Cookie是由HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。就像我们去超市买东西,没有积分卡的情况下,我们买完东西之后,超市没有我们的任何消费信息,但我们办了积分卡之后,超市就有了我们的消费信息。cookie就像是积分卡,可以保存积分,商品就是我们的信息,超市的系统就像服务器后台,http协议就是交易的过程。

当我们爬取一个登陆后的网页的详情数据的时候 就需要带上我们的个人账号信息才能爬取到所需要的数据 此时就需要携带登陆时的cookie

proxies参数设置请求代理ip

  • 什么是代理
    • 代理就是第三方代替本体处理相关事务。例如:生活中的代理:代购,中介,微商......

  • 爬虫中为什么需要使用代理

    • 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会会禁止这个IP的访问。所以我们需要设置一些代理IP,每隔一段时间换一个代理IP,就算IP被禁止,依然可以换个IP继续爬取。

  • 代理的分类:

    • 正向代理:代理客户端获取数据。正向代理是为了保护客户端防止被追究责任。

    • 反向代理:代理服务器提供数据。反向代理是为了保护服务器或负责负载均衡。

  • 免费代理ip提供网站

    • http://www.goubanjia.com/

    • 西祠代理

    • 快代理

 

import requests
import random
#不同浏览器的UA
header_list = [# 遨游{"user-agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"},# 火狐{"user-agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"},# 谷歌
    {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}
]
#不同的代理IP
proxy_list = [{"http": "112.115.57.20:3128"},{'http': '121.41.171.223:3128'}
]
#随机获取UA和代理IP
header = random.choice(header_list)
proxy = random.choice(proxy_list)url = 'http://www.baidu.com/s?ie=UTF-8&wd=ip'
#参数3:设置代理
response = requests.get(url=url,headers=header,proxies=proxy)
示例

基于multiprocessing.dummy线程池的数据爬取

import requests,re,random
from lxml import etree
from multiprocessing.dummy import Pool
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
def request_video(url):return requests.get(url=url,headers=headers).content
def saveVideo(data):name = str(random.randint(0,9999))+'.mp4'with open(name,'wb') as fp:fp.write(data)print(name,'下载存储成功!!!')
url = 'https://www.pearvideo.com/category_1'
page_text = requests.get(url=url,headers=headers).text
tree = etree.HTML(page_text)
li_list = tree.xpath('//ul[@id="listvideoListUl"]/li')
pool = Pool(4)#实例化一个线程池对象
video_url_list = [] #所有的视频连接
for li in li_list:detail_url = 'https://www.pearvideo.com/'+li.xpath('./div/a/@href')[0]detail_page_text = requests.get(url=detail_url,headers=headers).textex = 'srcUrl="(.*?)",vdoUrl='video_url = re.findall(ex,detail_page_text,re.S)[0]video_url_list.append(video_url)
video_data_list = pool.map(request_video,video_url_list)#异步的获取4个视频的二进制数据
pool.map(saveVideo,video_data_list)#进行视频的持久化存储

 

  

转载于:https://www.cnblogs.com/z1115230598/p/10976408.html

http://www.lbrq.cn/news/9559.html

相关文章:

  • 维护网站信息/微信代运营
  • 起点网站建设/网址查询域名解析
  • 如何提高你的网站的粘性/免费的客户资源怎么找
  • 怎样可以查到做网站公司/网站优化排名网站
  • 深圳横岗网站建设/seo的研究对象
  • win10系统可以做网站搭建/营销培训课程2022
  • 代驾小程序源码/优化设计方法
  • 餐饮品牌网站建设/每日新闻最新消息
  • 可以做网站的域名后缀/百度浏览器网址是多少
  • 在境外做色情网站/百度高级搜索网址
  • 中山专业网站建设价格/石嘴山网站seo
  • 三亚做网站哪家好/免费网站建设seo
  • javaweb社交网站开发/搜狐综合小时报2022113011
  • 个人网站做外链方法/如何优化关键词搜索排名
  • 传奇页游平台/免费seo工具大全
  • 郑州专业做淘宝网站建设/关于市场营销的100个问题
  • 青岛崂山区网站建设/怎么从网上找客户
  • 百度怎么做网站广告/汕头网站排名优化
  • 用点心做点心官方网站/2022年十大网络流行语发布
  • 怎样在工商局网站做公示/怎么优化百度关键词
  • 加强网站硬件建设方案/seo优化的主要内容
  • 2018网站建设涉及/企业培训公司
  • 怎么做网站分站/品牌营销策略有哪些方法
  • 免费推广网站入口2023燕/舆情分析系统
  • 春播网站是谁做的/seo搜索引擎招聘
  • 辽源网站优化/seo是什么
  • 许昌建网站/广东佛山疫情最新情况
  • 山西建设工程网/seo排名优化排行
  • 柳江网站建设/女孩短期技能培训班
  • 榆次建设局网站/优化seo方法
  • 第4章 React状态管理基础
  • 网络基础——协议认识
  • Vue 3中watch的返回值:解锁监听的隐藏技巧
  • Spark 运行流程核心组件(三)任务执行
  • Orange的运维学习日记--45.Ansible进阶之文件部署
  • 【SpringBoot】Swagger 接口工具