IP代理:
- 抓取网上免费代理,测试
- 代理供应商提供的代理(收费)
- ADSL拨号,每次重新拨号会更换本地IP,但是会有1~3秒延迟
- VPN/VPS 虚拟主机(翻墙爬取国外网站)
- Tor网络(暗网) 洋葱浏览器
自动生成user-agent
pip install fake_useragent
导入:
from fake_useragent import UserAgent
ua_obj = UserAgent()
 ua_obj.ie
 ua_obj.chrome
 ua_obj.random
- 
如果有重复图片、文件,保存到本地只有一份,后续改名只能成功一次,后面再改名。 
- 
用商品名称做为图片名保存,如果图片名里有”/”,则保存时会当作路径结点使用。 
 file_name = “Huawei Mate20 Pro 8GB/128GB 月光灰”
 if “/” in file_name:
 file_name.replace(“/”, “-”)
模拟登陆:
- 直接发送账户密码的POST请求,记录cookie,再发送其他页面的请求
- 先发送登录页面的get请求,获取登录参数,再发送登录的post请求,提交账户密码和登录参数,并记录cookie,再发送其他页面的请求
- 直接将cookies保存在请求报头里,直接发送附带登录状态的请求,获取页面。
Scrapyd远程部署和执行爬虫、停止爬虫、监控爬虫运行状态
服务端:
- 
安装客户端和服务器端的工具: 
 端口:6800
 客户端:pip install scrapyd-client
 服务器端:pip install scrapyd
- 
服务器端开启 scrapyd服务(提供一个监听6800端口的web)
 修改default_scrapyd.conf配置文件里的 bind_address 为 0.0.0.0
 再开启服务
 ubuntu: $ scrapyd
以下全部是客户端的操作:
- 
修改scrapy项目的 scrapy.cfg文件,添加 配置名称和url
 [deploy:scrapyd_Tencent3]
 url = http://192.168.37.80:6800
- 
将项目部署到指定scrapyd服务器上(每次本地有任何变动,必须重新部署一次) 
 scrapyd-deploy scrapyd_Tencent3 -p Tencent3
- 
启动指定 scrapyd服务上的 指定项目的 指定爬虫(会生成该爬虫的jobid值,用于区分) 
 curl http://192.168.37.80:6800/schedule.json -d project=Tencent3 -d spider=tencent_crawl
- 
停止指定 scrapyd服务上的 指定项目的 指定爬虫 
 curl http://192.168.37.80:6800/cancel.json -d project=Tencent3 -d job=jobid值
scrapyd-web