针对SCRAPY爬虫的要点

ip代理

#https://stackoverflow.com/questions/4710483/scrapy-and-proxies

客户端信息 User-agent


#1.单个的user-agent 直接在item中定义 然后request传参
#2.轮换的user-agent 定义一个中间件 然后在设置中挂载入download_middlewares
# http://blog.csdn.net/sinat_28680819/article/details/71597421

 

cookie 模拟登录


#1.构造cookie cookie = {'Cookie': 'qm_username=137958873x0; qm_sid=8a4cce2f4413b4a5c9981093942b3f6f,qMUZrWmt0Z0XQbVZWKlNBZXUzT0xCSXJNRHNXU1NDVzd6MXZFQjJSbGZxMF8.; RK=/jt+Uh72a5; pgv_pvid=2786550760; pgv_info=ssid=s5861035317; ptui_loginuin=1379588730; ptisp=ctc; ptcz=e3d339f47c356076793ff4c270b572e35ed69746057039ee2e78677e391793b9; pt2gguin=o1379588730; uin=o1379588730; skey=@ssNmMQP3p; p_uin=o1379588730; p_skey=2w78648Kd9wuwxK9lsiDM02MQFJfSIhEuxhhE*aH-SU_; pt4_token=aGGiHcty94vO0iC8mxQ*OgkHOI6fZmdzQCxsb-baX1U_'}
#2. html = requests.get(url,cookies=cookie).content 在request中传参
# 注意需要将cookie 转换为字典类型

多线程 默认存在的

ajax 解决 实际路径不是网站的路径 是json 然后通过json.loads 和for进行层层的配对就可以实现
# http://www.scrapingauthority.com/scrapy-ajax

js的处理

splash (利用docker,然后做分布式爬虫)推荐
selenium+phantom.js

 

download_delay(下载延迟)


#setting download_delay (全局)
# item download_delay=n 就是针对某个爬虫

# 默认是0.5*download_delay ~1.5*download_delay

动态渲染爬取

 

图片下载

 

 

分布下载器

 

转载于:https://www.cnblogs.com/kengdiexienima/p/8471045.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值