zoukankan      html  css  js  c++  java
  • scrapy基础代码解析

    • 爬虫文件剖析:
      1. # -*- coding: utf-8 -*-
      2. import scrapy
      3. class QiubaiSpider(scrapy.Spider):
      4. name = 'qiubai' #应用名称
      5. #允许爬取的域名(如果遇到非该域名的url则爬取不到数据)
      6. allowed_domains = ['https://www.qiushibaike.com/']
      7. #起始爬取的url
      8. start_urls = ['https://www.qiushibaike.com/']
      9. #访问起始URL并获取结果后的回调函数,该函数的response参数就是向起始的url发送请求后,获取的响应对象.该函数返回值必须为可迭代对象或者NUll
      10. def parse(self, response):
      11. print(response.text) #获取字符串类型的响应内容
      12. print(response.body)#获取字节类型的相应内容
    • 配置文件settings.py修改:

      1. #修改内容及其结果如下:
      2. #19行:
      3. USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' #伪装请求载体身份
      4. 22行:ROBOTSTXT_OBEY = False #可以忽略或者不遵守robots协议
    • scrapy基于xpath数据解析操作:

      • 爬取糗事百科的段子数据

        1. # -*- coding: utf-8 -*-
        2. import scrapy
        3. class QiubaiSpider(scrapy.Spider):
        4. name = 'qiubai'
        5. allowed_domains = ['https://www.qiushibaike.com/']
        6. start_urls = ['https://www.qiushibaike.com/']
        7. def parse(self, response):
        8. #xpath为response中的方法,可以将xpath表达式直接作用于该函数中
        9. odiv = response.xpath('//div[@id="content-left"]/div')
        10. content_list = [] #用于存储解析到的数据
        11. for div in odiv:
        12. #xpath函数返回的为列表,列表中存放的数据为Selector类型的数据。我们解析到的内容被封装在了Selector对象中,需要调用extract()函数将解析的内容从Selecor中取出。
        13. author = div.xpath('.//div[@class="author clearfix"]/a/h2/text()')[0].extract()
        14. content=div.xpath('.//div[@class="content"]/span/text()')[0].extract()
        15. #打印展示爬取到的数据
        16. print(author,content)
  • 相关阅读:
    [转]linux top 命令
    [转]Linux下实用的查看内存和多核CPU状态命令
    Totem ring protocal
    qemu qemusystemx86_64 qemukvm kvm 四个命令
    jsp>过滤器 小强斋
    jsp>Tomcat 6.0数据源配置记录 小强斋
    jsp>过滤器 小强斋
    jsp>监听器 小强斋
    jsp>Tomcat 6.0数据源配置记录 小强斋
    jsp>jsp执行过程 小强斋
  • 原文地址:https://www.cnblogs.com/huahuawang/p/12693446.html
Copyright © 2011-2022 走看看