爬虫逆向(js逆向)

异步爬虫的实现方式

- 线程池
- 多任务的异步协程
- 多线程(生产者消费者模型)

线程池

前提
from flask import Flask,render_template
from time import sleep
app = Flask(__name__)

@app.route('/bobo')
def index1():
    sleep(2)
    return render_template('test.html')

@app.route('/jay')
def index2():
    sleep(2)
    return render_template('test.html')

@app.route('/tom')
def index3():
    sleep(2)
    return render_template('test.html')

if __name__ == '__main__':
    app.run(threaded=True)  #实现线程必须加这个



爬取
from multiprocessing.dummy import Pool
from lxml import etree
import time
import requests

start = time.time()
urls = [
    'http://127.0.0.1:5000/jay',
    'http://127.0.0.1:5000/bobo',
    'http://127.0.0.1:5000/tom',
]
开启线程数,实例化一个对象
pool = Pool(3)

#定义回调函数:必须要有一个参数,参数就是列表中的某一个列表元素
def get_request(url):
    page_

你可能感兴趣的:(爬虫逆向(js逆向))