Python爬虫
Python爬虫
WoLykos
这个作者很懒,什么都没留下…
展开
-
Python爬虫总结——常见的报错、问题及解决方案
在爬虫开发时,我们时常会遇到各种BUG各种问题,下面是我初步汇总的一些报错和解决方案。在以后的学习中,如果遇到其他问题,我也会在这里进行更新。各位如有什么补充,欢迎评论区留言~~~问题:IP被封,或者因访问频率太高被拦截???解决方案之一:使用代理IP即可。问题:正确使用XPath之后并没有输出???解决方案之一:XPath只能提取未注释的代码,改用正则表达式即可。...原创 2019-12-24 21:59:50 · 10627 阅读 · 0 评论 -
Python爬虫实战——反爬机制的解决策略【阿里】
这一次呢,让我们来试一下“CSDN热门文章的抓取”。话不多说,让我们直接进入CSND官网。(其实是因为我被阿里的反爬磨到没脾气,不想说话……)一、URL分析输入“Python”并点击搜索:便得到了所有关于“Python”的热门博客,包括 [ 标题,网址、阅读数 ] 等等,我们的任务,就是爬取这些博客。分析一下上图中曲线处的URL,不难发现:p为页数,q为关键字。注意:我们一...原创 2019-12-24 20:57:20 · 3144 阅读 · 4 评论 -
Python爬虫实战——反爬策略之模拟登录【CSDN】
在《Python爬虫实战—— Request对象之header伪装策略》中,我们就已经讲到:“在header当中,我们经常会添加两个参数——cookie 和 User-Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性。”User-Agent已经讲过,这篇我们则主要讲cookie的使用案例。通俗地讲:User-Agent的作用是模拟浏览器,cookie的作用是模拟登陆,所以...原创 2019-12-23 20:38:49 · 1899 阅读 · 0 评论 -
Python爬虫实战——反爬策略之代理IP【无忧代理】
一般情况下,我并不建议使用自己的IP来爬取网站,而是会使用代理IP。原因很简单:爬虫一般都有很高的访问频率,当服务器监测到某个IP以过高的访问频率在进行访问,它便会认为这个IP是一只“爬虫”,进而封锁了我们的IP。那我们爬虫对IP代理的要求是什么呢?1、代理IP数量较多,可以减低被封锁的概率;2、IP生命周期较短,因为没钱o(´^`)o。接下来,就讲一下从购买代理IP到urllib...原创 2019-12-23 16:28:33 · 1951 阅读 · 0 评论 -
Python爬虫实战—— Request对象之header伪装策略
在header当中,我们经常会添加两个参数——cookie 和 User-Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性。User-Agent获取User-Agent可通过随机发送请求并进入开发者工具来提取。在这里,我也已经采集了一堆User-Agent,并写成一个能随机获取User-Agent的user_agent.py文件(可直接使用):import rando...原创 2019-12-21 09:30:49 · 2836 阅读 · 3 评论 -
Python爬虫进阶——Request对象之post请求案例分析【百度翻译】
作为进阶的最后一篇,我们就讲个有意思点的案例吧——百度翻译。一、分析URL接口正如上一篇:《Python爬虫进阶——Get请求》讲到的:当我们进行爬虫开发的时候,首先要做的,就是分析URL接口。打开百度翻译;F12;开发者工具中点击“暂停”和“清空”;输入“python”,并选中如图的“sug”请求;点击“Headers”,可以查看到图中圆圈中的信息;...原创 2019-12-21 00:51:14 · 1345 阅读 · 1 评论 -
Python爬虫进阶——Request对象之Get请求与URL编码【英雄联盟吧】
在上一篇中,我们是通过urllib.request.urlopen直接访问的网页地址,但在实际应用中,我们更多地使用urllib.request.Request对象,因为其可以封装headers和data。一、Request类的参数class Request: def __init__(self, url, data=None, headers={}, ...原创 2019-12-20 16:31:18 · 1415 阅读 · 0 评论 -
Python爬虫进阶——urllib模块使用案例【淘宝】
很多时候呢,我们都是读取本地HTML文件来进行爬虫练手,但每次都要手打不同的HTML明显耗时耗力;还有些小伙伴不喜欢F12,偏偏喜欢在Pycharm中查看HTML的源代码;……难道每次都只能“复制——新建——粘贴——保存”一条龙服务吗?不不不,我们还有Python的第三方库——urllib。urllib模块是模拟浏览器去访问URL地址,然后拿到服务器响应回来的数据,也就是整个HTML文...原创 2019-12-20 15:22:20 · 792 阅读 · 0 评论 -
Python爬虫进阶——JsonPath使用案例
如果一个网站采用前端渲染,那么这个网站的前端会访问后端的一些接口,然后拿到后端向前端返回的数据(一般都是Json类型,Json对象的本质其实是一个bytes字节流,但我们可以通过转码的方式,把它转成str),再把Json数据交给JS,JS对其进行解析,最终渲染页面。这就是前端渲染的一个流程。很多商城网站都会这样做,因为可以减缓服务器的压力。那对于我们爬虫开发来说,如果我们拿到了后端向前端返...原创 2019-12-20 14:27:00 · 648 阅读 · 0 评论 -
Python爬虫基础——XPath语法的学习与lxml模块的使用【CSDN】
XPath与正则都是用于数据的提取,二者的区别是:正则:功能相对强大,写起来相对复杂;XPath:语法简单,可以满足绝大部分的需求;所以,如果你可以根据自己的需要进行选择。一、首先,我们需要为Google浏览器配置XPath插件:请自行学习,效果如下:二、XPath的语法:注意:XPath的索引从1开始。三、XPath的案例:一级分类://h3[@class="c...原创 2019-12-26 14:03:09 · 1094 阅读 · 0 评论 -
Python爬虫基础——re模块的提取、匹配和替换
re是Python的一个第三方库。为了能更直观的看出re的效果,我们先新建一个HTML网页文件(可直接复制):index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title><...原创 2019-12-19 23:31:25 · 2172 阅读 · 0 评论 -
Python爬虫基础——正则表达式
说到爬虫,不可避免的会牵涉到正则表达式。因为你需要清晰地知道你需要爬取什么信息?它们有什么共同点?可以怎么去表示它们?而这些,都需要我们熟悉正则表达,才能更好地去提取。先简单复习一下各表达式所代表的意思:案例:定义密码的正则表达式:英文字母开头,可以包括数字、大小写英文字母、下划线,6-16位。表达式为:password_pattern='^[a-zA-Z]{1}[a-zA...原创 2019-12-19 22:39:42 · 869 阅读 · 0 评论 -
Python爬虫基础——HTML、CSS、JavaScript、JQuery网页前端技术
HTML介绍HTML是Hyper Text Markup Language(超文本标记语言)的缩写HTML不是一种编程语言,而是标记语言HTML的语法双标签:<标签名></标签名>单标签:<标签名/>元素和属性<标签名 属性名=属性值>元素</标签名><标签名 属性名=属性值/>HTML结构<!D...原创 2019-12-19 20:14:44 · 1681 阅读 · 0 评论