- html = requests.get(url,headers = head)
- html.apparent_encoding
- html.encoding = html.apparent_encoding
- print html.text
不要指定为utf-8,从apparent_encoding内读,缺省为utf-8就好了
文件头加:
- import sys
- reload(sys)
- sys.setdefaultencoding(“utf-8”)
不要指定为utf-8,从apparent_encoding内读,缺省为utf-8就好了
文件头加:
最近老电脑打开尝试试用了下,新建文件夹看不到,按F5刷新出来了,改个名字,也不会变,每次都要按F5刷新一次。删除文件、移动文件什么的都不好使,偶尔又正常,一直没搞清楚什么原因,网上找了很多办法包括注册表修改都不好用,找了好久发现原来是网络文件夹在作怪,我添加了一个网络驱动器,局域网内另一台机器的共享文件夹,但是可能那个共享文件夹早就无法访问了,导致explorer也跟着卡着不刷新,直接删除网络驱动器->ftp快捷方式,完美解决。
最近需要使用国密SM4加密算法,综合评估下来将openssl升级到1.1.1版本即可,遂开启升级模式期间编译时有报错:
undefined reference to `BIO_f_zlib’
ld return 1 exit result
make clean
make //重新编译
顺道记录下升级步骤:
解压缩
tar xzvf openssl-1.1.1-pre4.tar.gz
tar xzvf openssl-1.1.1-pre5.tar.gz
cd openssl-1.1.1-pre5
./config
make
sudo make install
$ export LD_LIBRARY_PATH=`pwd`
$ ./apps/openssl version
有时候为了避开登录验证所带来的麻烦,先登录后用selenium预加载之前的用户配置及cookie信息会极大便利自动化目标的实现,但受限于selenium及chrome的用户配置文件加锁机制,每次只能有一个进程操作大大限制了自动化目标的实施。所幸可以通过chrome的多用户可以完成selenium多任务同时加载cookie信息
1、添加多个chrome用户
2、分别用不同chrome用户访问 chrome://version/,找到对应的 个人资料路径 一般新开的会将Default延伸为Profile 1~
3、声明用户配置信息路径及资料名称:
option.add_argument(‘–user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data’)
option.add_argument(‘–profile-directory=Profile 1’)
奈何中文资料太少,google了下使用selenium中send_keys()一次性上传多个文件的解决方案:driver.find_element_by_xpath(“file_path1\nfile_path2”)
中间加 \n 即可
注意:结尾不能有\n否则会报错,调了好久才发现这个坑
参考资料:https://stackoverflow.com/questions/23955430/selenium-webdriver-upload-multiple-files
另外三种其他方案一并推荐:
https://tuyennta.com/upload-multiple-files-in-selenium/
在使用selenium自动上传文件成功后,总是出现浏览器关闭后文件选择框却仍停留在桌面上,尤其是进程执行数次后会有一堆这样的框框保留在桌面上,网上搜索了很久没找到原因和解决方案,百思不得琪姐。
琪姐告诉我:画蛇添足!
selenium上传文件直接对input进行send_keys()而不需要想浏览器一样先点击再选文件,错就错在代码层面还添加了一次点击,导致有多余的选择文件弹框出现,删足即可~
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {\”method\”:\”xpath\”,\”selector\”:\”//*[@id=\”js_msgSender\”]/a\”}
确认过xpath表达式正确无误时selenium仍然找不到元素时一般很有可能是前面使用过.click()方法,浏览器会新开一个tab,然而当前selenium焦点仍然保留在原有页面tab当中
因此只要在.click()操作后加一行:
driver.switch_to_new_tab()
焦点跳转到新tab就ok
这种错误尤其在命令行执行时会爆出,IDE调试测试阶段会有可视化浏览器实际操作,不容易暴露。命令行下不会有可视化浏览器操作,错误就产生了
宝塔反向代理谷歌时,所有配置正确的情况下还是会自动跳转到目标设置的google.com并且访问失败。
原因:谷歌会根据vps所在地进行当地域名的跳转,如香港vps会自动跳转到google.com.hk会导致反向代理失败
解决方案:反向代理目标谷歌域名使用vps当地谷歌域名即可,也就是说除美国之外的都不要直接用www.google.com域名作反代
1、在nginx配置文件里添加这两句:
开启了HTTP基本认证,认证由Nginx的ngx_http_auth_basic_module模块提供
auth_basic “Restricted Access”;
auth_basic_user_file /etc/passwd.txt;
继续阅读nginx开启HTTP基本认证(auth_basic)OpenVPN 安装并不是想像的那么难,更何况还有一键安装包呢?该 OpenVPN 一键安装包非本人维护,它真正的主人是 @Nyr ,开源地址是:https://github.com/Nyr/openvpn-install ,整个安装过程非常简单,就一条命令,根据提醒步骤安装既可。
适用平台:Debian、Ubuntu、CentOS,版本越新越好。该项目目前在Github上被打星6K多次,赶紧收藏吧。即使您之前没有使用OpenVPN,该脚本也可让您在一分钟内设置自己的VPN服务器。OpenVPN 安装就是这么简单。
继续阅读一键安装openvpn