• 爬虫1:get请求的翻页及思考


    刚开始接触爬虫,理解还不透彻,说一些初始阶段的想法{1.因为get请求的方式(请求体无数据,不能通过Request.add_data()函数来添加数据,实现对网址翻页;需要直接对网址进行操作来实现翻页功能)2.post请求方式存在数据请求数据(可以通过Request.add_data()函数来添加数据,实现对网址的翻页)}

    下面是标准的老师总结的两者差别

    {   
      1. get
    是从服务器上获取数据,post是向服务器传送数据。
      2. GET请求参数显示,都显示在浏览器网址上,POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送
      3. 尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。
    }

    #coding=utf-8
    #1.导入头文件

    #2.先不要做循环,先设置出第一页,再循环做接下来的几页

    #步骤  #3.分出变化网址的内容和无变化的网址内容

      #4.将变化的内容做成字典,然后编码,做出浏览器识别的内容
      #5.进行网址申请(无变化的网址内容加上变化的内容字典)
      #6.用系统库打开申请后的内容,再读取内容
      #7.用xpath进行处理,获取独条内容

       

    代码编写中遇到的两个问题:  1.字典的使用错误,理解方向错  2.xpath()函数返回对象不清楚的错误

    先说第一个:当时是value={ 'start': 'j' }这样写导致j 成了字符串类型,循环后变量的值不发生改变,所以一直打印的爬取的内容是第一页;

    再说第二个:当时不清楚xpath()函数的返回值类型,所以不理解下面的name = ...[0].text;为什么要取[0];查询后发现这个函数返回值类型为列表;要取列表里的值需要加上下标。而上一个result取值时是无下标;因为用for循环取出里面的内容。

    还有一个:第28行代码;因为这个爬取的是招聘网站的内容,需要知道每个工作的具体要求,就需要具体进入链接;  此处用到了字符串的拼接,因为直接爬取的属性内容为缺少host属性的值,是不能直接被粘贴使用的;用字符串拼接把host属性值和爬取到的 herf 属性值拼接在一起,保证了爬取到的链接经过粘贴复制可以直接使用

    路之遥
  • 相关阅读:
    好用,Office超效率速成技
    Oracle 12c从入门到精通:视频教学超值版
    用Excel学数据分析
    VMware、Citrix和Microsoft虚拟化技术详解与应用实践
    中文版Dreamweaver CC+Flash CC+Photoshop CC网页设计基础培训教程(新编实战型全功能培训教材)
    1467.二叉排序树
    1177.查找
    1178.复数集合
    1165.字符串匹配
    1166.迭代求立方根
  • 原文地址:https://www.cnblogs.com/yyx1-1/p/5626400.html
Copyright © 2020-2023  润新知