因为每次请求得到的响应不一定是正常的,   也可以在中间建中与个类的方法,自动更换头自信,代理Ip, 在设置文件中添加头信息列表, 在中间建中导入刚刚的列表,和随机函数 class UserAgentMiddleware(object): def process_request(self, request, spider): # 随机头信息, UA = random.choice(UserAgent_list) request.headers['User-Agent'] = UA class P…
定时对该网页数据采集,所以每次只爬第一个页面就可以, 创建工程 scrapy startproject qianchen 创建运行文件 cd qianchenscrapy genspider qianchen_ qianchen.com scrapy crawl qianchen…
当要对一个页面进行多次请求时, 设   dont_filter = True   忽略去重 在 scrapy 框架中模拟登录 创建项目 创建运行文件 设请求头 # -*- coding: utf-8 -*- import scrapy import requests class DoubanSpider(scrapy.Spider): name = 'douban' # allowed_domains = ['douban.com'] # 登录页面 start_urls = ['https://…
以上内容以 spider 类 获取 start_urls 里面的网页 在这里平时只写一个,是个入口,之后 通过 xpath 生成 url,继续请求, crawispider 中 多了个  rules  rules 中的参数 link_extractor  用来定义需要提取的连接 allow=()  满足()中正则表达式的 url 会被提取,如果为空则全部匹配, deny=()  满足()中正则表达式的 url 不提取,优先级高于allow, callback   回调函数 follow 实例:…
到指定目录下,创建个项目 进到 spiders 目录 创建执行文件,并命名 运行调试 执行代码,: # -*- coding: utf-8 -*- import scrapy from ..items import TenXunItem class TenxunSpider(scrapy.Spider): name = 'tenxun' # allowed_domains = ['tenxun.com'] # 域名范围 start_urls = ['https://hr.tencent.com/…
装好模拟器设置代理到 Fiddler  中, 代理 IP 是本机 IP, 端口是 8888, 抓包 APP斗鱼 用 format 设置翻页…
1,通过爬虫获取代理 ip ,要从多个网站获取,每个网站的前几页2,获取到代理后,开进程,一个继续解析,一个检测代理是否有用 ,引入队列数据共享3,Queue 中存放的是所有的代理,我们要分离出可用的代理,所以再搞个队列,存放可用代理,4,检测速度过慢,效率低,引入 gevent,猴子补丁 一次多个检测 5,将分离出的有用代理存入 mongodb 另开个进程操作 6, flask web 框架 , API接口,7,调度,每次开启时先对数据库中的代理进行检测, 因为maogo db无法远程连接,所…
利用 redis 数据库,做 request 队列,去重,多台数据共享, scrapy 调度 基于文件每户,默认只能在单机运行, scrapy-redis 默认把数据放到 redis 中,实现数据共享, 安装: pip install scrapy-redis 命令与 scrapy 没有不同 在该文件下导入 scrapy_redis 在配置文件中添加内容 1(必须). 使用了scrapy_redis的去重组件,在redis数据库里做去重 DUPEFILTER_CLASS = "scrapy_re…
HTML解析库BeautifulSoup4 BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库,它的使用方式相对于正则来说更加的简单方便,常常能够节省我们大量的时间. BeautifulSoup也是有官方中文文档的:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html 安装 BeautifulSoup的安装也是非常方便的,pip安装即可. pip install beautifu…
tornado 相关说明 改善图片上传功能 ,生成唯一的 ID ,与路径拼接,生成 URL, 这里引用 uuid 的 python 库 在 photo.py 中创建个类,用来  辅助用户上传的图片,生成相关缩略图,记录图片相关 URL ,并保存到数据库 把用户上传图片,生成缩略图,URL,保存信息到数据库放进一个类里,class UploadImg: """ 辅助用户上传的图片,生成相关缩略图,记录图片相关 URL ,并保存到数据库 """ up…
潭州学院-JavaVIP的Javascript的高级进阶-KeKe老师 讲的不错,可以学习 下面是教程的目录截图: 下载地址:http://www.fu83.cn/thread-283-1-1.html 觉得教程比较好,可以推荐哈!…
index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <!--引入本地--> <link rel…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
在线课堂 一.数据库模型设计 # 在apps/course/models.py中定义如下模型: from django.db import models from utils.models import ModelBase class Teacher(ModelBase): name = models.CharField(max_length=150, verbose_name="讲师姓名", help_text='讲师姓名') positional_title = models.Ch…
类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类里定义的变量 是 属性 print( Abc.cls_name ) Abc.binbin = '正在25班教室' # 可以通过 类名.属性名 = 属性值 给类添加属性 print( Abc.binbin ) ------>>>>> 这个类的名字是Abc 正在25班教室 类是一个独…
c rapyd是 scrapy 的部署, 是官方提供的一个爬虫管理工具, 通过他可以非常方便的上传控制爬虫的运行, 安装 : pip install scapyd 他提供了一个json ,web, server 在命令行中输入scrapyd 回车, 给个本地请求:  curl http://localhost:6800 如果 是无界面的 linux ,可以通过端口转发 python安装库的路径 vim进到该文件中 默认为127.0.0.1 这样就可以访问了, 还要安装个客户端, pin inst…
建代理池, 1,获取多个网站的免费代理IP, 2,对免费代理进行检测,>>>>>携带IP进行请求, 3,检测到的可用IP进行存储, 4,实现api接口,方便调用, 5,各个组件 的调试, 西剌代理: http://www.xicidaili.com/nn/ 66 IP代理 http://www.66ip.cn/ 快代理 https://www.kuaidaili.com/free/…
win 下安装 sclapy 先安装 pip install wheel py 库下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 在这个网址中下载  Scrapy  和  twisted ,pywin32 下载  twisted,在其所在文件夹十打开  cmd , pip install  安装 ,之后安装 Scrapy, 用这行命令 scrapy startproject pyjy 测试是否成功,如果 成功 在  C:\User…
利用wheel安装 S1: pip install wheelS2: 进入www.lfd.uci.edu/~gohlke/pythonlibs/,Ctrl + F查找pycurl 这个包名是pycurl-版本-你下载的python版本(如python3.4,就是cp34)-win32/64操作系统),选择你所需要的进行下载S4: 安装编译包,命令行输入 pip install 你下载的whl文件的位置如(d:\pycurl-7.43.1-cp34-cp34m-win_amd64.whl)S5:…
爬虫的概念: 其实呢,爬虫更官方点的名字叫数据采集,英文一般称作spider,就是通过编程来全自动的从互联网上采集数据.比如说搜索引擎就是一种爬虫.爬虫需要做的就是模拟正常的网络请求,比如你在网站上点击一个网址,就是一次网络请求. 爬虫的作用: 现如今大数据时代已经到来,网络爬虫技术成为这个时代不可或缺的一部分,企业需要数据来分析用户行为,来分析自己产品的不足之处,来分析竞争对手的信息等等,但是这些的首要条件就是数据的采集.这其中使用爬虫较为有名的有今日头条等公司. 爬虫的本质 爬虫的本质就是自…
Selenium笔记(1)安装和简单使用 简介 Selenium是一个用于Web应用程序测试的工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等. 这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能——创建回归测试检验软件功能和用户需求. 而用在爬虫上则是模拟正常用户访问网页并获取数据.…
PyExecJs使用 PyExecJS是Ruby的ExecJS移植到Python的一个执行JS代码的库. 安装 pip install PyExecJS 例子 >>> import execjs >>> execjs.eval("'red yellow blue'.split(' ')") ['red', 'yellow', 'blue'] >>> ctx = execjs.compile(""" ..…
打开图形界面  18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将字符串和Bytes互相转换可以使用encode()和decode()方法.如下所示: # 方法中不传参数则是以默认的utf-8编码进行转换 In [1]: '南北'.encode() Out[1]: b'\xe5\x8d\x97\xe5\x8c\x…
Python网络请求urllib和urllib3详解   urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib.   而urllib3则是增加了连接池等功能,两者互相都有补充的部分.   urllib   urllib作为Python的标准库,基本上涵盖了基础的网络请求功能.   urllib.request   urllib中,request这个模块主要负责构造和发起网络请求,并在其中加入Heade…
打断点 找要的数据 鼠标的点击事件 新浪微博登录 表单提交分析 : 先佃输入错误密码开始调式 f10 往下走, f11 进入函数 sh + f11 跳出函数 # -*- coding: utf-8 -*- # 斌彬电脑 # @Time : 2018/9/20 0020 4:30 # 新浪js分析 import requests import base64 import time import re import json import rsa import binascii class Weib…
# -*- coding: utf-8 -*- # 斌彬电脑 # @Time : 2018/9/15 0015 4:52 #cookie 是服务器发给浏览器的特殊信息 # 可以理解为一个临时通行证 # 以 json 形式存放 # name: cookie 的名称 # value: coikie 的值 # domain: 可以使用此 cookie 的域名 # path: 可以使用此 cookie 的页面路径 # expires/Max-Age : cookie 的超时时间 默认是 session…
为上次代码添加 模拟人操作 的鼠标的移动轨迹 # -*- coding:utf-8 -*- # 斌彬电脑 # @Time : 2018/9/14 0014 上午 8:08 from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.chrome.options import Options from selenium.webdriv…