- 浏览: 32638 次
- 性别:
最新评论
文章列表
本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法。这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来。
1. 准备工作
在本节开始之前,请确保已经安装好requests库。
2.实战演练
首先,实现方法get_page()来加载单个Ajax请求的结果。其中唯一变化的参数就是offset,所以我们将它当作参数传递,实现如下:
import requests
from urllib.parse import urlencode
def get_page(offset):
params = {
...
RedisDump是一个用于Redis数据导入/导出的工具,是基于Ruby实现的,所以要安装RedisDump,需要先安装Ruby。
1. 相关链接
GitHub:https://github.com/delano/redis-dump
官方文档:http://delanotes.com/redis-dump
2. 安装Ruby
有关Ruby的安装方式可以参考http://www.ruby-lang.org/zh_cn/documentation/installation,这里列出了所有平台的安装方式,可以根据对应的平台选用合适的安装方式。
3. gem安装
安装完 ...
在Python中,如果想要和MongoDB进行交互,就需要借助于PyMongo库,这里就来了解一下它的安装方法。
1. 相关链接
GitHub:https://github.com/mongodb/mongo-python-driver
官方文档:https://api.mongodb.com/python/current/
PyPI:https://pypi.python.org/pypi/p ...
本节来介绍一下使用 RNN 的 LSTM 来做 MNIST 分类的方法,RNN 相比 CNN 来说,速度可能会慢,但可以节省更多的内存空间。
初始化 首先我们可以先初始化一些变量,如学习率、节点单元数、RNN 层数等:
learning_rate = 1e-3
num_units = 256
num_layer = 3
input_size = 28
time_step = 28
total_steps = 2000
category_num = 10
steps_per_validate = 100
steps_per_test = 500
batch_size = ...
本篇内容基于 Python3 TensorFlow 1.4 版本。
本节内容 本节通过最简单的示例 —— 平面拟合来说明 TensorFlow 的基本用法。
构造数据 TensorFlow 的引入方式是:
import tensorflow as tf
接下来我们构造一些随机的三维数据,然后用 TensorFlow 找到平面去拟合它,首先我们用 Numpy 生成随机三维点,其中变量 x 代表三维点的 (x, y) 坐标,是一个 2×100 的矩阵,即 100 个 (x, y),然后变量 y 代表三位点的 z 坐标,我们用 Numpy 来生成这些随机的点:
impo ...
本节来说明一下 JavaScript 加密逻辑分析并利用 Python 模拟执行 JavaScript 实现数据爬取的过程。在这里以中国空气质量在线监测分析平台为例来进行分析,主要分析其加密逻辑及破解方法,并利用 PyExecJS 来实现 JavaScript 模拟执行来实现该网站的数据爬取。
反混淆
JavaScript 混淆之后,其实是有反混淆方法的,最简单的方法便是搜索在线反混淆网站,这里提供一个:http://www.bm8.com.cn/jsConfusion/,我们将 jquery-1.8.0.min.js 中第二行 eval 开头的混淆后的 JavaScript 代码复制一下 ...
Flask是一个轻量级的Web服务程序,它简单、易用、灵活,这里主要用来做一些API服务。
1. 相关链接
GitHub:https://github.com/pallets/flask
官方文档:http://flask.pocoo.org
中文文档:http://docs.jinkan.org/docs/flask
PyPI:https://pypi.python.org/p ...
我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden,这时候打开网页一看,可能会看到“您的IP访问频率太高” ...
寻找爬虫入口 1 、本次任务的入口 这个爬虫的更好的入口就是我们平常使用的搜索引擎。搜索引擎虽然有很多种,但是其实都是在干一件事,收录网页,处理,然后提供搜索服务。在平时使用的过程中,我们通常都是直接输入 ...
对于Redis来说,我们要使用redis-py库来与其交互,这里就来介绍一下它的安装方法。
1. 相关链接
GitHub:https://github.com/andymccurdy/redis-py
官方文档:https://redis-py.readthedocs.io/
2. pip安装
这里推荐使用pip安装,命令如下:
pip3 install redis
运行完毕之后,即可完成redis-py的安装。
3. 验证安装
为了验证redis-py库是否已经安装成功,可以在命令行下测试一下:
$ python3
>>> import re ...
只要你的Scrapy Field字段名字和 数据库字段的名字 一样。那么恭喜你你就可以拷贝这段SQL拼接脚本。进行MySQL入库处理。
具体拼接代码如下:
def process_item(self, item, spider):
if isinstance(item, WhoscoredNewItem):
table_name = item.pop('table_name')
col_str = ''
row_str = ''
for key in item. ...
将数据保存到TXT文本的操作非常简单,而且TXT文本几乎兼容任何平台,但是这有个缺点,那就是不利于检索。所以如果对检索和数据结构要求不高,追求方便第一的话,可以采用TXT文本存储。本节中,我们就来看下如何利用Python保存TXT文本文件。
1. 本节目标
本节中,我们要保存知乎上“发现”页面的“热门话题”部分,将其问题和答案统一保存成文本形式。
2. 基本实例
首先,可以用requests将网页源代码获取下来,然后使用pyquery解析库解析,接下来将提取的标题、回答者、回答保存到文本,代码如下:
import requests
from pyquery import Py ...
Learning to Rank,即排序学习,简称为 L2R,它是构建排序模型的机器学习方法,在信息检索、自然语言处理、数据挖掘等场景中具有重要的作用。其达到的效果是:给定一组文档,对任意查询请求给出反映文档相关性的文档排序。 ...
以微博为例,接下来用Python来模拟这些Ajax请求,把我发过的微博爬取下来。
1. 分析请求
打开Ajax的XHR过滤器,然后一直滑动页面以加载新的微博内容。可以看到,会不断有Ajax请求发出。
选定其中一个请求,分析它的参数信息 ...
Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android、iOS等设备完成自动化测试,比如模拟点击、滑动、输入等操作,其官方网站为:http://appium.io/。本节中,我们就来了解一下Appium的安装方式。
1. 相关链接
GitHub:https://github.com/appium/appium
官方网站:http://appium.io
官方文档:http://appium.io/introduction.html
下载链接:https://github.com/appium/appium-desktop/rel ...