safari

微信公众号数据抓取

烈酒焚心 提交于 2020-05-07 10:50:29
1.抓取某个公众号所有的文件信息 Charles +电脑版微信+pycharm+python 2. 分析 经过分析:每个公众号文章列表页连接都是 https://mp.weixin.qq.com/mp/profile_ext 开头 ,抓取时每个公众号的只有几个参照不一样 抓取: 3. 代码 import requests import json import time def parse( __biz , uin, key, pass_ticket, appmsg_token= "" , offset= " 0 " ): """ 文章信息获取 """ url = ' https://mp.weixin.qq.com/mp/profile_ext ' headers = { " User-Agent " : " Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400 " , } params = { " action " : "

微信公众号数据抓取

旧街凉风 提交于 2020-05-07 08:44:49
1.抓取某个公众号所有的文件信息 Charles +电脑版微信+pycharm+python 2. 分析 经过分析:每个公众号文章列表页连接都是 https://mp.weixin.qq.com/mp/profile_ext 开头 ,抓取时每个公众号的只有几个参照不一样 抓取: 3. 代码 import requests import json import time def parse( __biz , uin, key, pass_ticket, appmsg_token= "" , offset= " 0 " ): """ 文章信息获取 """ url = ' https://mp.weixin.qq.com/mp/profile_ext ' headers = { " User-Agent " : " Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400 " , } params = { " action " : "

Python+pyecharts:全国猪价地图的实现

余生颓废 提交于 2020-05-07 01:38:48
继续来说猪的事情,这次我们实现爬取全国各省份生猪价格,并用pyecharts画出全国生猪价格分布图。 爬取的网站为: 具体爬虫代码为: import pandas as pd import requests import json url = ' https://zhujia.zhuwang.cc/api/getMapJson?id=-1 ' headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 ' } response = requests.get(url,headers= headers) json_text = response.json() data =json_text[ ' features ' ] lis = [] for i in range(0,32 ): # print(data[i]['properties']) try : lis.append([data[i][ ' properties ' ][ ' name ' ],data[i][ ' properties ' ][ ' pigprice ' ]]) except

爬虫入门基础-HTTP协议过程

|▌冷眼眸甩不掉的悲伤 提交于 2020-05-06 20:48:03
当我们在浏览器中输入URL后,会发生什么?比如 https:// www.baidu.com 我们可以用 curl -v https://www.baidu.com 来研究这个过程,会发现总共有 4个子过程。 1、查找域名对应的IP地址 * Rebuilt URL to: https://www.baidu.com/* Trying 14.215.177.38... 我们可以通过 nslookup www.baidu.com 模拟这个过程 , dns服务器返回两个IP地址,curl会随机选用其中一个IP服务器进行访问。 2、向IP对应的服务器发送SSL协商请求,进行SSL协商 * Connected to www.baidu.com (14.215.177.38) port 443 (#0) 下图是通过 Wireshark 抓包获取的协商过程。 3、SSL协商完成后,向IP对应服务器发起 GET 请求 > GET / HTTP/1.1 > Host: www.baidu.com > User-Agent: curl/7.54.0 网站会检查是不是真的浏览器访问。需加上 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.1276.73

JavaScript 实现前端文件下载

大憨熊 提交于 2020-05-06 16:32:15
A.download HTML5的A标签有一个 download 属性,可以告诉浏览器下载而非预览文件,很实用,参考链接: http://www.zhangxinxu.com/wordpress/2016/04/know-about-html-download-attribute/ 有时候,WEB端临时创建了一个文件,供用户下载,怎么办呢?示例如下: // 从canvas提取图片数据 var raw = ctx.getImageData( 0, 0, 300, 300); // 压缩为JPEG图片 // https://github.com/owencm/javascript-jpeg-encoder var jpegURI = ( new JPEGEncoder()).encode(raw, 75); // 弹出对话框,交由用户保存图片 saveFile(jpegURI, '文件名'); // saveFile函数 function saveFile( d, a) { var b = document.createElement( 'a'); b.href = d; b.download = a; var c = document.createEvent( "MouseEvents"); c.initMouseEvent( "click", true, false, window

Nginx

余生长醉 提交于 2020-05-06 03:01:44
目录 - 前言 - Nginx 根据域名反向代理 - Nginx proxy_pass 关于 '/' 的作用 1. 前言 接到一个需求,通过nginx 代理互联网上某一个页面,刚开始的时候觉得很简单的,直接 proxy_pass 过去就完事了,测试了下还是想太多。具体记录如下。 2. Nginx 根据域名反向代理 web服务器通常有三种访问方式: 基于ip 基于域名 基于端口 而互联网上暴露的网站多数都是通过 基于域名 的方式,如果直接通过解析后的IP访问,可能就无法访问到网站信息。我这里模拟了下这种方式,如下: 对应关系: 浏览器访问域名: 浏览器访问ip地址: 现在问题来了,当你的 nginx 配置 proxy_pass 的时候,得到的是 域名返回的结果 还是 ip地址返回的结果呢?这两种返回的结果完全不同。 在另一台主机 [ 192.168.118.14 ] 上安装 nginx 并配置好 配置nginx 方向代理 通过浏览器访问 192.168.118.14 查看日志信息: 192.168.118.41 - - [23/Jul/2019:20:09:12 +0800] "GET / HTTP/1.1" 200 15 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

PYTHON 爬虫笔记一:爬虫基本原理梳理

独自空忆成欢 提交于 2020-05-05 12:59:16
知识点一:爬虫的基本原理梳理   一、什么是爬虫?     请求网站并提取数据的自动化程序   二、爬虫的基本流程     1:向服务器发起请求       通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器的响应。     2:获取响应内容       如果服务器正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML、JSON、二进制文件(如图片、视频等类型)。     3:解析内容       得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是JSON,可以直接转成JOSN对象进行解析,可能是二进制数据,可以保存或者进一步处理     4:保存内容       保存形式多样,可以保存成文本,也可以保存至数据库,或者保存成特定格式的文件。   三、什么是Response和Request ?   四、Request中包含哪些内容?       1:请求方式       主要是GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS等。    2:请求URL       URL全称是统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL来唯一来确定       3:请求头       包含请求时的头部信息,如User

[知识路书]测试报告

巧了我就是萌 提交于 2020-05-04 08:40:32
[知识路书]测试报告 这是一篇软工课程博客 项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 作业要求 测试报告 我们在这个课程的目标是 测试项目 这个作业在哪个具体方面帮助我们实现目标 制定测试规则,总结测试结果 关于本组 【 敏杰开发 团队介绍】 关于选题 【 知识路书 项目介绍】 一、测试计划 测试时间 2020年4月25日至2020年4月28日 测试矩阵 矩阵项 平台 PC端或MAC端web浏览器 硬件 PC端或MAC端 浏览器类型 主流web浏览器:Chrome、Firefox、Safari 测试规划 2020年4月25日 至 2020年4月26日单元测试:前后端分离测试、组件测试、单元测试 2020年4月27日 至 2020年4月28日场景测试:前后端合并、整体测试 Alpha版本出口条件 前后端成功对接 各组件正常工作 链接跳转正常 无明显错误 发现的已知bug解决完成,或不重要的bug添加Issue以待下一版本解决 二、测试过程 单元测试 功能 测试标准 发现bug bug是否已修复 是否通过测试 简单文献管理 \(\cdot\) 文献CURD 用户可以上传、编辑、移除文献 无 通过 \(\cdot\) 文献引用管理 用户可以为每篇文献设置引用关系 新添加的文献不会立即出现在transfer选项中,需要重新加载数据 是 通过 路书编辑 \(\cdot\

[软软软] Alpha-测试报告

左心房为你撑大大i 提交于 2020-05-04 08:32:17
遇到的bug bug:在vue.config.js里配置proxy,并修改请求的url后仍无法连接到后端。 解决: url最后忘了'/',导致和后端不匹配,会有404、500等错误。 后端服务未打开或出现其他错误,也会报code为500的错。 api中添加request,记得修改url和baseURL(默认是/dev-api,改成空),否则在请求的url中间会多一个/dev-api,取不到数据。 bug:添加了注册页面,但进行跳转时还是会自动重定向到login页面。 解决:和vue-element-admin的架构有关,需向src/permission.js的白名单(whiteList)中添加注册的路由项。 bug:页面刷新后vuex存储的数据被清空。 解决:这和vuex的机制有关,vuex的数据保存在运行内存中,当页面刷新时会重新加载vue实例,vuex里的数据会被重新赋值。 所以解决办法是把数据存到cookie中,vuex每次从cookie中获取数据进行更新。 bug:日历无法渲染事项。 解决:利用Chrome的开发者平台debug。 bug:事项详情页未对空值进行处理。 解决:学习并添加了表单校验规则。 bug:后端处理GET类请求时需要知道参数。 解决:在url中识别参数并将参数传给对应的处理函数。 场景测试 场景1 用户信息 用户情况 姓名 小A 用户身份

python爬虫(8)——Xpath的应用实例:爬取腾讯招聘信息

跟風遠走 提交于 2020-05-04 07:43:48
    上一篇文章,简单介绍了beautifulsoup这个解析器,下面来了解一个我非常喜欢的工具——Xpath。     Xpath是一门在XML文档中查找信息的语言,可用来在XML文档中对元素和属性进行遍历。推荐各位使用Google浏览器吧Chrome,安装一个插件工具Xpath Helper。文档传送门:http://www.w3school.com.cn/xpath/xpath_intro.asp     我们在chrome中打开Xpath Helper插件,右键检查元素,分析网页结构,我们可以用上图所示的方法提取到职位名称。但是提取不到类别和地址,经过分析后发现,隔行的class属性不一致。实际上在这里,我们可以爬下职位链接,然后进行深度爬取。     xpath提取时,要注意将网页转换成html文档,代码如下(未保存本地,只是显示在命令终端): 1 import requests 2 from lxml import etree 3 4 5 6 7 8 def get_info(page_url): 9 page_response=requests.get(page_url,headers= headers) 10 page_html= page_response.text 11 page_HTML= etree.HTML(page_html) 12 #