热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

爬虫学习历程小记

初次入手爬虫项目,需要对公司内部网站的数据进行采集。数据库Server端负责人有把下载的链接发给我们,只要输入这个URL,就可以下载一个

初次入手爬虫项目,需要对公司内部网站的数据进行采集。

数据库Server端负责人有把下载的链接发给我们,只要输入这个URL,就可以下载一个包含数据的excel表格。但是,使用Python爬虫时,总是遇到405错误。

梳理一下爬虫的学习历程。

1. 了解爬虫的相关知识

下面系列的小文写得浅显易懂,可以用来扫盲。对于一般的爬虫,下面的技巧足够用。

【爬虫系列相关文章】

  • 爬虫系列(一) 网络爬虫简介

  • 爬虫系列(二) Chrome抓包分析

  • 爬虫系列(三) urllib的基本使用

  • 爬虫系列(四) 用urllib实现英语翻译

  • 爬虫系列(五) re的基本使用

  • 爬虫系列(六) 用urllib和re爬取百度贴吧

  • 爬虫系列(七) requests的基本使用

  • 爬虫系列(八) 用requests实现天气查询

  • 爬虫系列(九) xpath的基本使用

  • 爬虫系列(十) 用requests和xpath爬取豆瓣电影

  • 爬虫系列(十一) 用requests和xpath爬取豆瓣电影评论

  • 爬虫系列(十二) selenium的基本使用

  • 爬虫系列(十三) 用selenium爬取京东商品


2. 学会使用Chrome浏览器对XHR进行分析

关于XHR,请参见博文“XHR简介” ,简言之:XHR是XML Http Request的缩写,实现了无需刷新即可实现客户端和服务器端的状态更新。

下面以Chrome浏览器为例,看看如何查看网页中的XHR。

a. 按下Shift+Ctrl+C组合键;

b. 选择Network 页面(下图步骤1)

c. 选择XHR (下图步骤2)

d. 选择感兴趣的XHR对象(下图步骤3)

    有时会有很多XHR对象在列表中,我们要选择对的XHR对象;可以从"Preview"或者“Response”中查看相关的内容进行确认。

e. 查看Headers页面(下图步骤4)

    Headers中的页面包含了关键参数,我们在编程或者使用其他工具的时候要用到这些参数,所以要能理解并运用这些参数。

3. 使用Postman加速爬虫分析过程

Postman的下载地址是https://www.postman.com/downloads/,它提供了post/get等方法访问/测试服务器的快捷工具,并可以自动转成几十种语言的代码,使用十分便利。

关于Postman如何安装和使用,这里不做赘述,这里仅仅把我这2天遇到的案例分析的关键点共享出来。4个关键点,

a. URL 的填写(下图步骤1):请填写Chrome浏览器中XHR->Headers->General->Request URL的内容;

b. Request的方法(下图步骤2): 请选择Chrome浏览器中XHR->Headers->General->Request Method的内容;

c. Content-Type(下图步骤3):Postman会根据在“Body”页面的选择,自动选择类型;请将这项和Chrome浏览器中XHR->Headers->Request Headers->Content-Type保持一致。这一步十分关键,否则server端会抛出405异常;下图步骤4/5/6是在Postman中选择正确的Content-Type,十分关键。

d. 按照要求填入body数据(下图步骤7):数据来源于Chrome浏览器中XHR->Headers->Request Payload,格式要对。

填写好之后,点击“Send”, 如果成功,则会在Status中显示“200 OK”;如果错误,还要再分析。


 

最后,再讲一下Postman不可思议的代码转换功能。

Postman不仅可以测试Post等方法,还可以直接转换为数十种编程语言,十分便捷。直接上图如下,点击红圈内的“Code”,即可跳出各种编程语言的页面,按照自己的需要选择语言,比如我选择了“Python - Requests”.

Good Luck!

 

另外,如果爬虫https的链接,需要disable SSL,postman的设置如下,

 


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
author-avatar
空荡荡跑龙套
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有