# pip设置配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set trusted-host pypi.tuna.tsinghua.edu.cn
# 使用conda创建虚拟环境(具体内容请参考课件)
conda create -n py_spider python=3.9
# 使用conda删除虚拟环境
conda remove --name py_spider --all
conda info -e
包的导出
pip list
pip freeze
导入
pip install -r ./requirements.txt
在网络框架中,同步(Synchronous)和异步(Asynchronous)是指处理任务和响应的两种不同方式。
同步:
异步:
区别:
在网络框架中,异步编程常用于需要处理大量并发请求的场景,比如Web服务器处理大量同时到达的HTTP请求时,异步方式能够更高效地利用系统资源,提高系统的吞吐量和响应速度。
自我理解:异步不一定是并发,但并发一定是异步。
问题:为什么并发是非堵塞。
同步:发送一个请求,等待返回,然后再发送下一个请求。异步:发送一个请求,不等待返回,随时可以再发送下一个请求。
线程爬虫,如果都放在同一列表中,会有竞争。拿请求的代码是加锁,解锁。利用队列,线程安全。只多了数据队列部分。内容提取可能导致两个项目录入同一个库表中。如果存入队列,则读取时,直接pop。提取新的url后,重新放到url队列。
多了爬虫引擎负责调度任务。
(只需手写Spider、pipline管道)
scrapy startproject mySpider
scrapy genspider douban movie.douban.com
pip show scrapy
项目结构说明:
列表分为单向列表和双向列表,它可以当做队列使用。
Hope this helps! 如果有其他需要,欢迎告诉我。