scrapy总结!!!

scrapy学习

  • 获取html的str文本
    • response.text
  • 获取bytes的html文本
    • response.body
  • 数据重复怎么办(后一次循环的时候会改变前一次循环的结果。)
    • 使用deepcopy
  • url地址js生成的
    • 寻找规律
    • 在响应中会有当前的页码数和总的页码数

crawlspider

  • 如何使用
    • 创建爬虫 scrapy genspider -t crawl 爬虫名 域名
    • 指定start-url
    • 完善rules
      • 元组
      • Rule
        • LinkExtractor
          • 通过规则提取url
          • allow 正则
        • callback
          • 连接提取器提取url的响应会交个他处理
        • follow
    • 完善callback
  • crawlspider的使用场景
    • url的规律能够通过正则或者xpath表示
    • 最终的页面有全部的数据的时候使用(如果没有,在callback中自动手动构造请求)
  • 注意点
    • parse函数不能定义

下载中间件

  • process_request
    • 处理请求
    • 添加随机的UA
      • request.headers[“User_Agent”]=…
    • 添加代理
      • request.meta[“proxy”]=“ip+port”
    • 不需要return
  • process_response
    • 处理响应
    • 需要return request ,response

模拟登陆

  • 携带cookie登陆
    • scrapy.Request(url,callback,cookies={})
    • 不能把cookies放在headers中,无效
  • 使用FormRquest
    • scrapy.FromRequest(url,formdata={},callback)
      • formdata:请求体
  • 自动寻找form表单中的action的url
    • scrapy.FromRequest.from_response(response,formdata={},callback)

scrapy 中使用mongodb储存数据

  • from pymongo import MongoClient
  • 实例化一个client对象,创建数据库和表
    • client = MongoClient()
    • collection = client[“数据库名”]‘[ “表名”]
  • 向表中添加数据
    • collection.insert(item)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值