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

liftword3个月前 (02-21)技术文章36

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进行分析得到需要的数据。

以上就是小编所整理的关于爬虫的知识,如果你想要了解到更多python知识,记住关注小编,或者去“蚁小二”平台了解一二哦~

(此处已添加小程序,请到今日头条客户端查看)

相关文章

Python实现一个基础爬虫?_用python做一个爬虫

Python爬虫技术就是指通过Python语言来编写一些自动化的数据处理程序从网页上来获取自己想要的数据,我们可以通过Python爬虫来获取公开网页上的数据,对数据进行分析、存储、数据可视化展示等操作...

什么是Python爬虫?一篇文章带你全面了解爬虫

一、什么叫爬虫爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度和GOOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的然后存储到云端,为网友...

Python爬虫常用的8个技巧,让你爬取数据得心应手

今天跟大家分享几个我在爬虫中用到的技巧,让你轻松爬取所需数据。技巧一:随机暂停,迷惑反爬机制高频率访问容易被网站识别为爬虫,所以我们要学会“劳逸结合”!使用 time.sleep() 函数,加上随机时...

最简单的python爬虫案例,适合入门学习

用python从网页爬取数据,网上相关文章很多,但能让零基础初学者轻松上手的却很少。可能是有的作者觉得有些知识点太简单不值得花费精力讲,结果是难者不会会者不难,初学者常常因此而蒙圈。本人也是小白,刚摸...

如何入门 Python 爬虫?_python爬虫入门教程

1.很多人一上来就要爬虫,其实没有弄明白要用爬虫做什么,最后学完了却用不上。大多数人其实是不需要去学习爬虫的,因为工作所在的公司里有自己的数据库,里面就有数据来帮助你完成业务分析。什么时候要用到爬虫呢...

Python爬虫有哪些应用场景?_python爬虫的优缺点分析

随着互联网信息的“爆炸”,网络爬虫渐渐为人们所熟知,并被应用到了社会生活的众多领域。作为一种自动采集网页数据的技术,很多人其实并不清楚网络爬虫具体能应用到什么场景。事实上,大多数依赖数据支撑的应用场景...