python 爬虫学习记录

这段时间一直断断续续的学习python爬虫,主要是想后面如果自己想要用一些数据的话有能力去获取并处理。视频资源当然还是从B站上找的 学习地址。其中主要就看了波波老师讲的那一部分,后面由另一个老师补充的有关异步爬虫的就看了一两节就没看了。主要是觉得前面对爬虫有了一些认识,然后好多东西虽然跟着老师做虽然做了下来,但真正留下来的东西却不多。只有当自己开始真正要用到爬虫相关的东西,进行实战的时候才会真正的掌握。所以就视频的学习就暂时告一段落。在这里做一个记录,凭借着一些印象和记忆吧,把现在还能记得的东西总结一下。


爬虫的概念

简单地理解爬虫就是利用程序通过搜索引擎在较短时间内在网上获取大量的资源,然后对这些资源进行存储、处理、分析进而得到有价值的东西。如果想要遵守所爬网站对应的爬取规则,可以去查看网站对应的robots.txt


爬虫相关

第三方库:

  • requests——重要是用来向特定url发起请求的。
    其中requests库是python中相对于urllib库比较简单的一个http库,通过requests库中的请求方法,常用的是get()post()方法。对于这两个方法的区别。直观理解就是顾名思义。get是通过参数传递的方法从服务器中获取数据,post是向服务器传送数据。可能正是因为这样,所以在爬虫中经常用到的都是get()方法。对于这两个的更详细的区别,可以参考这篇博客Python Requests库 Get和Post的区别

  • beautifulsoup 是一个可以从HTML或XML文件中提取数据的Python库
    也就是一个解析网页的东西,其功能和正则表达式、xpath一样。

框架

  • selenium——用来模拟用户真实使用浏览器的过程。
    在教程中使用了selenium来模拟登录古诗文网、12306。还有一个地方使用selenium是因为那个问政平台所加载的数据是动态加载的,所以就有用到先让selenium模拟浏览页面,然后再用scrapy框架进行数据的爬取。
  • scrapy框架——是一个用python写的爬虫框架,重要的就是这张图。
    在这里插入图片描述

后面会用爬虫来做一些有意思的小项目。


常见问题记录
  • 当学习到处理中间件请求的时候终端一直报错更换不同的IP有不同的错。一种是Connection was refused by other side: 10061: 由于目标计算机积极拒绝,无法连接。第二种是TCP connection timed out: 10060: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
    网上查看的解决方法很多是说防火墙、网络设置或者浏览器勾选自动检测等。但都不靠谱,尤其是最后一种,我们就是要指定代理ip,如果自动检测的话,那不就是事与愿违了吗。
    我认为被拒绝说明这个ip是在存活期内的,只是被封了;无响应说明ip以及对应的端口号过了存活期,失效了。
    解决方法:不停寻找可用ip,那些刚刚入库的ip会靠谱些。西拉ip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值