花了一周时间,终于把python爬虫入门必学知识整理出来了

Python是近几年最火热的编程语言,大家既然看到了爬虫的知识,想必也了解到python。

很多都说python与爬虫就是一对相恋多年的恋人,二者如胶似漆 ,形影不离,你中有我、我中有你,有python的地方绝对离不开爬虫,有爬虫的地方,话题永远都绕不开python。

因为小编也正在学习python编程,所以花了一周时间,将关于python爬虫入门知识整理出来了,这些知识个人觉得是非常重要的,所以希望大家可以收藏起来,不要弄丢哦,毕竟辛苦了这么久。

什么是爬虫

爬虫是一个程序,这个程序的目的就是为了抓取万维网信息资源,比如你日常使用的谷歌等搜索引擎,搜索结果就全都依赖爬虫来定时获取。

简单来说,无论你想获得哪些数据,有了爬虫都可以搞定,不论是文字、图片、视频,任何结构化非结构化的都能解决。

爬虫模块

re模块——正则表达式模块:

是用于快速从一大堆字符中快速找出想要的子字符串的一种表达方式,这个模块是初学者必须要弄清楚的,当你刚开始用的时候会觉得有难度,一旦上手了,你就会爱上它,逻辑性是非常强的。

os模块:

对文件文本的操作,可以创建文件夹,访问文件夹内容等,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。

比如说我们常见的os.name,“name”顾名思义就是“名字”,这里的名字是指操作系统的名字,主要作用是判断目前正在使用的平台,也要注意到该命令不带括号。

csv模块:

爬取出来的数据可以以csv的格式保存,可以用office办公软件中的Excel表格软件打开,所以一般都是用于读文件、写文件、定义格式。

基础的抓取操作

Urllib:

是python内置的HTTP请求库,简单的例子:

import urllib.request

response = urllib.request.urlopen('https://blog.csdn.net/weixin_43499626')

print(response.read().decode('utf-8'))

Requests:

requests库是一个非常实用的HTPP客户端库,是抓取操作最常用的一个库。

各种请求方式:常用requests.get()和requests.post()

import requests

r = requests.get('https://api.github.com/events')

r1 = requests.get('http://httpbin.org/post',data={'key':'value'})

Requests它会比urllib更加方便,可以节约我们大量的工作。

需要登录的接口

post请求:

直接上代码,就能看懂的解释

import requests

url = 'http://test'

data = {'key':'value'}

res = requests.post(url=url,data=data)print(res.text)

get请求:

@classmethod

def send_get(cls, url, params, headers):

response = cls.SessionRequest.get(url=url, params=params, headers=headers)

return response.json()

常见的反爬有哪些

从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。这里我们只讨论数据采集部分。

通过Headers:

反爬虫从用户请求的Headers反爬虫是最常见的反爬虫策略,果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名。

基于用户行为反爬虫:

同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。[这种防爬,需要有足够多的ip来应对],对于这种情况,使用IP代理就可以解决。可以专门写一个爬虫,爬取网上公开的代理ip,检测后全部保存起来。

动态页面的反爬虫:

上述的几种情况大多都是出现在静态页面,还有一部分网站,我们需要爬取的数据是通过ajax请求得到,。首先用Firebug或者HttpFox对网络请求进行分析,如果能够找到ajax请求,也能分析出具体的参数和响应的具体含义,我们就能采用上面的方法,直接利用requests或者urllib2模拟ajax请求,对响应的json进行分析得到需要的数据。

(0)

相关推荐

  • Python Urllib和urllib2哪个模块好?Python入门

    Python是一门高级的编程语言,它语法简单.清晰,容易入门,可用的包.库.模块有很多,即便是初学者也能够快速实现简单的网络爬虫,那么你知道Python中爬虫模块有哪些吗?我们一起来看看吧. Pyth ...

  • Python爬虫学习笔记(三)

    Cookies: 以抓取https://www.yaozh.com/为例 Test1(不使用cookies): 代码: import urllib.request# 1.添加URLurl = &quo ...

  • 从小白到高手 | 尚硅谷Python爬虫视频教程值得拥有!

    离人心头一叶秋,别后恨悠悠. 倦容初醒,倚栏观水,西风难休. 春来碧水盼君归,暖炉煨酒. 夜半寒影,孤衾若冰,何处遣愁. --小红 <九月一日忆东北著名狠人晶哥> 今天,给大家隆重介绍一位 ...

  • python爬虫整理| 原来我曾经拥有过这么多爬虫啊

    一.requests模块的学习 使用事前:pip install requests 1)发送get,post请求,获取相应: response = requests.get(url) #发送get请求 ...

  • Python3爬虫之模拟post登陆及get登陆

    一.模拟登陆需要账号,密码的网址 一些不需要登陆的网址操作已经试过了,这次来用Python尝试需要登陆的网址,来利用cookie模拟登陆 由于我们教务系统有验证码偏困难一点,故挑了个软柿子捏,赛氪,h ...

  • 花了3周时间,终于把4500家A股公司龙...

    我炒股15年,总结了全球的股市二级市场icon规律,能给人们带来持续便捷的公司就是好公司,是有价值的公司.巴菲特也是利用这一点,长期持有这类公司,几十年,20%的复利就让他成为全球第一. 选择优质的好 ...

  • 飞哥一出手,股市抖三抖;花一周时间终于整...

    飞哥一出手,股市抖三抖:花一周时间终于整理出全新的主力操盘大全.非常硬核.限时公开.   我们常说要学会深度思考.飞哥最近爆红,很多人仅仅把这当成一个消息,而有的人把他公布的18只股票挨个复盘.从成交 ...

  • 花了两周时间,整理了常用K线组合应用大全...

    花了两周时间,整理了常用K线组合应用大全,详细介绍了K线组合的形成,以及它的操作应用. 很多朋友对于K线形态知其然不知其所以然,而K线组合是短线操作最常用的技术之一,有些朋友在应用这些技术的时候,只知 ...

  • 花了一周时间把股票基础知识大全整理好了,...

    花了一周时间把股票基础知识大全整理好了,想要做好股票,入门知识必须要牢牢记住,老股民也可以重新温习一遍,新股民看完能更加了解股市,记得收藏. 业精于勤而荒于嬉,行成于思而毁于随.如果你想要把炒股作为你 ...

  • 我花了两周时间,为了体验appium AI定位元素

    当我们在写自动化测试脚本的时候,传统情况下一定要知道元素的属性,如id.name.class等.那么通过AI的方式定位元素可能就不需要知道元素的属性,评价人对元素的判断来定位,比如,看到一个搜索框,直 ...

  • 花了三个月时间终于把千里香馄饨的配方学到手了

    花了三个月时间终于把千里香馄饨的配方学到手了

  • 苹果HomeKit漏洞早在十月被发现,却花了6周时间才修复

    一直强调安全.隐私保护的苹果,在前段时间被曝出其iOS 11系统存在HomeKit的安全漏洞,可以被不法黑客进行攻击从而控制用户的智能家居设备,比如直接打开智能门锁,随后苹果通过服务器和系统更新修复了 ...

  • Python爬虫入门教程(十四):爬取有声小说网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  • Python爬虫入门教程:豆瓣Top电影爬取

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理.   基本开发环境 Python 3.6 Pycharm 相关模块的使用 requests p ...