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

做网站的公司成本十款看免费行情的软件

做网站的公司成本,十款看免费行情的软件,如何制作论坛网站,科学家做实验的网站Python爬虫之requests模块#xff08;一#xff09; 学完urllib之后对爬虫应该有一定的了解了#xff0c;随后就来学习鼎鼎有名的requests模块吧。 一、requests简介。 1、什么是request模块#xff1f; requests其实就是py原生的一个基于网络请求的模块#xff0c;模拟…Python爬虫之requests模块一 学完urllib之后对爬虫应该有一定的了解了随后就来学习鼎鼎有名的requests模块吧。 一、requests简介。 1、什么是request模块 requests其实就是py原生的一个基于网络请求的模块模拟浏览器发起请求是不是和urllib很像。没错其实requests和urllib是有很多相似之处的但是requests更加的便捷、简单。 2、为什么要使用requests模块 一个技术的出现肯定是有所图的回想一下urllib的使用。 第一是不是如果url携带中文是不是每次都要对url进行编码使用quote函数如果一个url中有很多组参数都带中文那岂不是需要对url进行数次的编码 第二基于post请求需要手动的处理post请求的参数urlencode函数 第三urllib处理cookie和代理的操作比较繁琐。 但是对于requests来说则会自动处理url编码、自动处理post请求参数还简化了cookie和代理操作等等 3、requests模块如何被使用 其实和其他所有模块一样需要先使用pip安装随后import调用 pip install requests具体使用流程和urllib几乎类似 指定url使用requests模块发起请求获取响应数据进行持久化存储 二、基于requests模块发起get请求 1、requests模块处理不带参数的get请求 需求爬取搜狗首页页面数据 import requests #1、指定url url https://www.sogou.com/#2、发起一个get请求直接调用requests的get方法url参数为指定爬取的url #get方法会返回请求成功后的响应对象 response requests.get(urlurl)#3、获取响应中的数据值text属性作用是获取响应对象中字符串形式的页面数据 page_data response.text# print(page_data) #4、持久化存储 with open(sougou_req.html,w,encodingutf-8) as f:f.write(page_data)其实和urllib很类似。但是可以看到响应对象的属性有一个text。 其实关于响应对象的常用属性还是挺多的如下常见的 requests对象中其他重要的属性 response.content #content属性和text类似只不过返回的是响应对象中二进制byte类型的数据 response.status_code #status_code很简单明了就是返回响应状态码比如200、404、502等... response.headers #返回响应头信息字典形式展示 response.url # 获取请求当中指定的url2、requests模块处理携带参数的get请求 需求指定一个词条获取搜狗搜索结果所对应的页面数据 第一种方式 import requests#指定URL,query后面是请求参数词条是孙燕姿编码格式是utf-8 url https://www.sogou.com/web?query孙燕姿ieutf8#发送请求requests即使请求url携带参数也同样可以直接使用get函数对其发起请求 response requests.get(urlurl)#获取响应页面数据 page_data response.text#持久化存储 with open(sunyanzi_re.html, w, encodingutf-8) as f:f.write(page_data)第二种方式 import requests#指定URL,query后面是请求参数参数先不写 url https://www.sogou.com/web#get方法其实还有一个params的参数可以将参数使用字典的方式直接赋值 #将参数封装到字典中 params {query: 孙燕姿,ie: utf-8 } #使用get的params赋值 response requests.get(url, paramsparams)#查看响应状态码 print(response.status_code) 这里使用status_code返回请求的状态码成功则为200。 3、requests模块get请求自定义请求头信息 requests模块自定义请求头信息和urllib类似 import requests#自定义请求头信息 url https://www.sogou.com/web#将参数封装到字典中 params {query: 孙燕姿,ie: utf-8 }#自定义请求头信息 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0 }#使用get的headers自定义请求头信息将请求头信息赋值给headers response requests.get(url, paramsparams,headersheaders)#获取页面响应数据 data_page response.text#持久化存储 with open(ff.html,w,encodingutf-8) as f:f.write(data_page) 三、基于requests模块发起post请求 需求登陆豆瓣获取登录成功后的页面数据 首先这里需要获取到登陆时的URL 查看数据表单确认用户数据。这里我发现豆瓣密码居然是明文传输的。 import requests#指定POST请求的URL url https://accounts.douban.com/j/mobile/login/basic#封装post请求的data参数data参数是账号密码信息在浏览器中复制数据表单 data {remember: true,name: **,password: **,ticket: tr0kBmbIbu****vjIlOi6F7Q**,randstr: **,tc_app_id: 204** }#伪装UA headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0 }#发起post请求调用post方法第二个参数是data参数第三个参数为自定义请求头信息 response requests.post(urlurl,datadata,headersheaders)#获取响应对象中的页面数据 data_page response.text#持久化保存 with open(douban_re.html,w,encodingutf-8) as f:f.write(data_page) 四、quests模块的ajax的get请求 AJAX即“Asynchronous Javascript And XML”异步JavaScript和XML是指一种创建交互式网页应用的网页开发技术。 ajax是一种浏览器通过js异步发起请求局部更新页面的技术。 Ajax请求的局部更新浏览器地址栏不会发生变化 局部更新不会舍弃原来页面的内容 需求抓取豆瓣电影上的详情数据 当然首先还是得获取到一个ajax的请求。这里通过开发者工具抓取到get方式的URL 这里注意到URL是携带参数的可以点开GET左边的箭头打开复制下面的参数。 import requests#url携带参数需要封装字典或者抽取到params中 #url https://movie.douban.com/j/chart/top_list?type5interval_id100:90actionstart20limit20 url https://movie.douban.com/j/chart/top_list#抽取参数start表示从20开始获取获取20个电影 params {type: 5,interval_id: 100:90,action: ,start: 20,limit: 20 }#自定义请求头信息 heards {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0 }#发起请求ajax依旧是get方法 response requests.get(urlurl,paramsparams,headersheards)data_page response.text print(data_page)五、quests模块的ajax的post请求 需求爬取肯德基城市餐厅位置数据 打开kfc官网 http://www.kfc.com.cn/kfccda/index.aspx 点击查询按钮就可以看到一个异步的ajax请求 这里选择北京点击查询并且抓取XHR就能抓取到这个ajax请求。 同样表单数据可以看到参数 import requests#指定url url http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?opcname#处理URL data {cname: 北京,pid: ,pageIndex: 1,pageSize: 10 }#伪装UA heards {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0 }#发起基于ajax的post请求 response requests.post(urlurl,paramsdata,headersheards)kfc response.text print(kfc)拿到结果可以验证一下这就是基于ajax的post请求。 六、初步总结 使用requests模块基于ajax的post和get请求和普通的get和post请求没有什么差别唯一的不同是必须要基于抓包工具抓取异步请求的url。
http://www.hkea.cn/news/14322474/

相关文章:

  • 杭州网站改版北京网站建设首选石榴汇
  • 网站开发技术支持做外贸网站哪家效果好
  • 应聘网站建设工程师北京王府井大街
  • 石家庄网站seowordpress七牛云教程
  • 制作网站付费软件广州小程序app定制开发
  • word链接点进去是网站怎么做上海网络推广外包公司
  • 常德市建设网站wordpress模板淘宝客模板自适应
  • 网站建设需要多少费用seo综合查询工具
  • 做模型的网站有哪些内容seo教程网
  • 自身网站的建设和推广力度不足宿州高端网站建设公司
  • 斗门区建设局网站买一个软件大概多少钱
  • 一般做网站服务器的cpu网站的经典推广方法
  • 在潮州哪里找做网站的信息服务平台的优势和劣势
  • 中型网站网站备案需要ftp吗
  • 企业网站和信息化建设制度建设网点查询
  • 网站建设要不要监理十堰企业网站制作公司
  • 网站布局策划企业做网站流程
  • 美食网站主页怎么做用网站源码做网站
  • 建设银行互联网站旅游网站首页制作
  • 苏州企业建设网站价格seo排名怎么看
  • 一个网站怎么做提现自动到账wordpress页码数量
  • 色一把做最好网站建设银行网银登录
  • 做网站买一个域名就够了吗室内设计培训多久
  • 优购物官方网站购物html制作电影网站
  • 网络网站制作产品经理培训哪个机构好
  • 苏州做网站费用明细企业商网如何建设
  • 苏州有哪些做网站公司用asp做网站优势
  • 鞋网站建设方案多个链接的网站怎么做的
  • 周口网站建设电话济南百度推广排名优化
  • 网站做微信支付宝支付接口小企业网站建设口碑