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

网站建设的功能/推广合作

网站建设的功能,推广合作,wordpress 聊天插件,网页版微信二维码登录想实现抓取某基金网站持仓信息的功能, 1. 开发者工具里 Sources和Elements tab下内容的区别? Sources tab下显示的是静态网页的内容,通过AJAX等动态获取的数据,在sources下面是没有的。在Elements tab下是页面最终加载的所有内容…

想实现抓取某基金网站持仓信息的功能,

1. 开发者工具里 Sources和Elements tab下内容的区别?

Sources tab下显示的是静态网页的内容,通过AJAX等动态获取的数据,在sources下面是没有的。在Elements tab下是页面最终加载的所有内容的网页内容。
Elements的内容是网页经过浏览器渲染后得到的最后呈现效果,最主要的是包含了异步请求数据。
场景:使用网页的地址作为url时,发现用requests.get返回的是——sources里面的html文本,但我想要抓取的数据并没有。

遇到这种问题,是因为通过原始网页没有抓取到二次加载数据内容。

这说明这个要爬取的页面使用了ajax技术,一些数据是二次动态加载过来的。

Source里面,你没法看见用脚本动态添加或者删除的标签
Elements反映的是切实通过脚本“加工”过的页面,最终呈现的页面的元素

Elements 工具具备几个主要功能:选择元素、模拟器、代码区、样式区。用elements工具定位数据比直接从源代码中搜索要方便,因为可以通过DOM清楚的了解元素结构,不过Elements里看到的代码不等于请求网址拿到的返回值。

下文两个文章对异步请求的背景进行了介绍
《深入理解爬虫:网页分析||审查元素》https://blog.csdn.net/The_Time_Runner/article/details/110674326
《(20201201- 问题已解决)request爬虫beautifulsoup无法提取tbody》
https://blog.csdn.net/The_Time_Runner/article/details/110688093

获取二次加载的数据,需要使用network tab的抓包功能,Fetch/XHR子tab下查看二次加载数据的网页url等。

2.response.text和response.content和response.json()该如何使用?

原则:根据服务器返回数据的格式,要使用与之对应的解析response方式获取数据。
response.text
类型:str
response.text 返回的是Unicode格式的数据
解码类型: 根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码
修改编码方式:response.encoding=“gbk”

使用response.text 时,Requests 会基于 HTTP 响应的文本编码自动解码响应内容,大多数 Unicode 字符集都能被无缝地解码。

response.content
类型:bytes
response.content返回的字节流数据
解码类型: 没有指定
修改编码方式:response.content.deocde(“utf8”), 可以不写默认就是utf-8

使用response.content 时,返回的是服务器响应数据的原始二进制字节流,可以用来保存图片等二进制文件。

当收到一个响应时,Requests 会猜测响应的编码方式,用于在你调用response.text 方法时对响应进行解码。Requests 首先在 HTTP 头部检测是否存在指定的编码方式,如果不存在,则会使用 chardet.detect来尝试猜测编码方式(这样存在误差),所以更推荐使用response.content.deocde()

如果服务器返回content-type明确是json格式数据,则可以直接response.json()解析结果。

返回类型的背景知识
在response header,中,可以查看content-type内容,例如:
content-type: application/json;charset=utf-8
content-type: text/html; charset=utf-8

ajax开发中在请求server端的响应时, 对于每一种返回类型 规范的做法是要在服务端指定response的contentType 的. (当然 不指定绝大多数情况下也没什么问题 尤其是返回"非xml"的时候) 。

常遇到以下的几种情况:
1、 服务端须要返回一段普通文本给client,Content-Type=“text/plain”
2 、服务端须要返回一段HTML代码给client ,Content-Type=“text/html”
3 、服务端须要返回一段XML代码给client ,Content-Type=“text/xml”
4 、服务端须要返回一段javascript代码给client
5 、服务端须要返回一段json串给client

我们主要讨论返回javascript代码和Json对象的情况。

javascript 的 contentType 按最标准的写法 应该是 application/javascript。而经常使用的 text/javascript 已经被 rfc定义为废弃的。

可是 在这里临时不建议使用 application/javascript . 大家还是继续使用 text/javascript 为好. 由于非常多老旧浏览器并不支持 application/javascript . 而全部浏览器都支持text/javascript. 在标准和广泛的兼容性之间 还是暂且选择后者吧。

json 的 contentType 常见写法有 : text/json & text/javascript .
可是 这个 text/json 事实上是根本不存在的, 而 text/javascript 在有些时候client处理起来会有歧义. 对于json的contentType , rfc里定义的标准写法是 :application/json.
在这里毫无疑问 我们应该选择标准写法的 application/Json。

3.代理的使用
由于很多网站有反爬机制。当一个ip频繁访问时,有可能触发反爬机制。导致这个ip对网站的访问被封。这时候就需要使用代理机制,构造不同ip访问,避免爬取数据时被封。

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

相关文章:

  • 重庆城乡建设局网站/高端网站建设哪个好
  • 在网站的主页制作时 填写关键字/网络营销策略概念
  • 做那个免费观看视频网站/广州seo运营
  • 农产品信息网站的建设/百度文库网页版
  • 巴西有做amazon网站吗/seo网络排名优化方法
  • 汉阳网站建设公司/活动营销推广方案
  • 如何实现网站建设服务/免费推广app平台有哪些
  • 霸州做阿里巴巴网站/宁波正规优化seo价格
  • 网站建设报价多少/平台推广是什么
  • 网站怎么做目录跳转/app推广接单发布平台
  • 在与客户谈网页广告时如何让客户相信网站流量/seo免费优化网站
  • 网站模板服务商/农产品营销策划方案
  • 做soho的网站/小红书怎么做关键词排名优化
  • 室内设计软件自己设计/廊坊seo建站
  • 做电商网站一般要多少钱/人员优化方案
  • 简洁网站布局/自己建网站要多少钱
  • 做网站简单吗/而的跟地seo排名点击软件
  • 深圳做积分商城网站设计/淮安网站seo
  • 电影vip网站建设步骤/网站优化策划书
  • 青岛网站建设公司哪家好/如何自己做网站
  • 网站icp备案要多久/艺术培训学校招生方案
  • 工信部网站原来是/靠谱的拉新平台
  • 巨野网站建设/成人短期电脑培训班学费
  • 做网站如何导入信用卡付款/网页设计与制作教程
  • 秦皇岛网站设计公司/网站制作软件免费下载
  • 湖南党政建设网站/免费网站怎么申请
  • 网站的横幅怎么做的/关键词优化排名软件推荐
  • wordpress网页设定/天津seo排名扣费
  • 中卫网站制作公司报价/公司关键词seo
  • 做网站怎么推广/营销软文小短文
  • java:创建指定容器类型(如ImmutableSet)的Collector对象
  • vercel部署上线
  • JS的学习5
  • Go 语言 里 `var`、`make`、`new`、`:=` 的区别
  • 深入解析Linux poll()系统调用
  • Day41--动态规划--121. 买卖股票的最佳时机,122. 买卖股票的最佳时机 II,123. 买卖股票的最佳时机 III