safari

Safari for Ipad not reporting line numbers on Javascript errors

余生长醉 提交于 2020-12-05 05:09:19
问题 I am using iPad 2 with IOs 5 to develop a web application. I have enabled the developer console to get logs , but when javascript error occurs it does not include corresponding line number. Since the web application handles touch and gesture events, I cannot test them on desktop version of the browser! Any help will be appreciated. 回答1: You can add a window level error handler http://dev.opera.com/articles/view/better-error-handling-with-window-onerror/ and have that console log the line

python爬虫的基本框架

和自甴很熟 提交于 2020-12-04 04:01:52
1.爬虫的基本流程: 通过requests库的get方法获得网站的url 浏览器打开网页源码分析元素节点 通过BeautifulSoup或者正则表达式提取想要的数据 储存数据到本地磁盘或者数据库 2.正式开工啦 url = “http://www.jianshu.com” page = requests.get(url) #发现返回状态码403,说明有问题出现(除200外,其他的都是有问题的) #这个时候查看一下爬虫的robots协议,的确有些问题,解决方案如下: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} 获取html页面 page = requests.get(url, headers = headers) demo = page.text #记住,有时候有可能出现编码问题 page.encoding = page.apparent_encoding #将获取的内容转换为BeautifulSoup格式,并将html.parser作为解释器(熬一锅汤) soup = BeautifulSoup(demo, 'html.parser')

scrapy框架学习

依然范特西╮ 提交于 2020-12-01 02:48:11
- 一 什么是scrapy?    - Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。   - 安装      - linux: pip3 install scrapy      - windows:        - 1) pip3 install wheel        - 2) 下载Twisted ( http: / / www.lfd.uci.edu / ~gohlke / pythonlibs / #twisted )        - 3) 进入下载目录, 执行 pip3 install Twisted‑ 17.1 . 0 ‑cp35‑cp35m‑win_amd64.whl        - 4) pip3 install pywin32        - 5) pip3 install scrapy - 二 使用    - 1) 创建项目:scrapy startproject 项目名称    - 2) 创建应用程序:      - 先进入项目目录: cd 项目名      - scrapy genspider 应用名 爬取网页的起始url:      - 生成的初始文件 # -*- coding: utf-8

python 网络爬虫requests处理cookie,代理IP,云打码介绍

岁酱吖の 提交于 2020-11-29 16:12:20
一。基于requests模块的cookie操作(session处理cookie) cookie概念:当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。 cookie作用:我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了,Cookie是由HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。就像我们去超市买东西,没有积分卡的情况下,我们买完东西之后,超市没有我们的任何消费信息,但我们办了积分卡之后,超市就有了我们的消费信息。cookie就像是积分卡,可以保存积分,商品就是我们的信息,超市的系统就像服务器后台,http协议就是交易的过程。 cookie介绍 import requests from lxml import etree headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome

Charles抓包(iOS的http/https请求)

主宰稳场 提交于 2020-11-29 15:42:05
1. Charles安装 官网下载安装Charles: https://www.charlesproxy.com/download/ 2.Charles导入证书 双击Charles进入,因为只支持http,不支持https,需要导入证书 3. HTTP抓包 (1)查看电脑IP地址 (2)设置手机HTTP代理 手机连上电脑,点击“设置->无线局域网->连接的WiFi”,设置HTTP代理: 服务器为电脑IP地址:如192.168.1.169 端口:8888 设置代理后,需要在电脑上打开Charles才能上网 (3)电脑上打开Charles进行HTTP抓包 手机上打开某个App或者浏览器什么的,如果不能上网,检查前面步骤是否正确 点击“Allow”允许,出现手机的HTTP请求列表 4. HTTPS抓包 HTTPS的抓包需要在HTTP抓包基础上再进行设置 设置前抓包HTTPS是这样的 设置后抓包HTTPS长这样 以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤: (1)安装SSL证书到手机设备 点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device 出现弹窗得到地址 chls.pro/ssl 手机安装SSL证书的地址 在手机Safari浏览器输入地址 chls.pro/ssl

Ionic V5 with Angular component issue on Safari

血红的双手。 提交于 2020-11-29 09:18:46
问题 I am facing issue with the Ionic PWA application for click issue on Safari for below UI components. ion-radio ion-select ion-menu you can see attached screenshot when you click on radio button component “https://ionicframework.com/docs/api/radio 1” it is actually asking to reload the page. Here are the version details: MacOs: Catalina 10.15.7 (19H2) Safari: Version 14.0 (15610.1.28.1.9, 15610) Angular: 9.1.6 Ionic : 5.0.0 Any support will be appreciated. Thanks in advance. 回答1: It's a bug

爬虫之图片懒加载技术及js加密

a 夏天 提交于 2020-11-28 06:24:46
图片懒加载 图片懒加载概念: 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间。为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“图片懒加载”。 网站一般如何实现图片懒加载技术呢?在网页源码中,在img标签中首先会使用一个“伪属性”(通常使用src2,original......)去存放真正的图片链接而并非是直接存放在src属性中。当图片出现到页面的可视化区域中,会动态将伪属性替换成src属性,完成图片的加载。站长素材案例后续分析:通过细致观察页面的结构后发现,网页中图片的链接是存储在了src2这个伪属性中 案例: 1. 抓取站长素材http://sc.chinaz.com/中的图片数据  import requests  from urllib import request  import re  import os #1.检查页面数据是否为动态加载出来的 #2.获取页面源码数据 if not os.path.exists('tupian'): os.mkdir('tupian') headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0;

http响应总结:常见http响应错误总结

时间秒杀一切 提交于 2020-11-26 03:39:16
<div id="content_views" class="markdown_views"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p>工作中经常会被同事问这个http请求为什么调不通,我虽然能解释清楚错误是什么,但是没有总结过,想到刚开始时,也是看了别人的文章才会的,所以总结一下,贡献一下自己的经验。</p> <h2 id="http-404-响应">http 404 响应</h2> <p>404响应可以说是,在java web中最常见的错误了,基本上大家都理解问题产生的原因,即找不到这个资源。</p> <ul> <li><strong>路径匹配错误导致的404</strong></li> </ul> <p>比如说请求的访问路径为<a href="http://localhost:8080/project/test" rel="nofollow"

计算机网络 HTTP协议

余生颓废 提交于 2020-11-24 06:28:00
HTTP协议( Hypertext transfer protocol 超文本传输协议 ) 一、预备知识: 1、HTTP协议是应用层协议,定义的是传输数据的内容的规范。HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答标准。通过使用网页浏览器、网络爬虫或者其他工具,客户端发起一个HTTP 请到服务器上的指定端口(默认80)。服务器上存储着一些资源,如HTML文件和图像等 2、HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议 3、HTTP默认的端口号为80,HTTPS的端口号为443 4、HTTP协议是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议 5、URL(Uniform Resource Locator-统一资源定位符),URL是万维网(WWW)上的每一信息资源对应的统一的且在网上唯一的地址。URL4部分组成:协议、主机、端口(省略时使用方案的默认端口)、路径。URL格式:protocol :// hostname[:port] / path / [;parameters][?query]#fragment 6、URL中#号(井号)的作用是页面定位符。因为#是用来指导浏览器动作的,对服务器端完全无用,所以HTTP请求不包括#

10个让你受益匪浅的css使用技巧

偶尔善良 提交于 2020-11-23 08:37:22
1. Safari 3D变换会忽略z-index的层级 在Safari浏览器下(此Safari浏览器包括iOS的Safari,iPhone上的微信浏览器,以及Mac OS X系统的Safari浏览器),当我们使用3D transform变换的时候,如果祖先元素没有overflow:hidden/scroll/auto等限制,则会直接忽略自身和其他元素的 z-index 层叠顺序设置,而直接使用真实世界的3D视角进行渲染。 例如下面的场景,图中红框里面的模块,使用 3D transform变换,进行旋转动画,但是在Safari浏览器下,忽略了二维码遮罩层的 z-index ,结果使用了真实世界的3D视角进行渲染。出现了重叠的bug: 解决方法: 父级,任意父级,非body级别,设置overflow:hidden可恢复和其他浏览器一样的渲染。 以毒攻毒。有时候,页面复杂,我们不能给父级设置overflow:hidden,那么可以将被影响的元素设置一个足够大的translateZ值就可以,如translateZ(100px)。 2. 文字居中兼容 正常处理文字上下居中的手段是让元素height和line-height相等,但是安卓环境下当字体大小<14px/0.7rem的时候会出现居中失效的情况。 解决方法: 判断系统环境(安卓/IOS)分别作微调; font-size、height