下载鸥 > 网站下载 > 开发教程 > Python

python爬虫怎样入门?

444 2021-05-27 02:00:02

收藏
python爬虫怎样入门?
互联网的本质,就是一个巨大的蜘蛛网。我们的爬虫就是上面的一个蜘蛛,通过用蜘蛛模拟人工操作,不断的去抓取我们需要的信息。爬虫软件很多,支持爬虫功能的语言也很多,而用python做爬虫,辅以包罗万象的python库,功能十分强大,操作也并不难。本文就python爬虫入门做一个简单的介绍。

python爬虫怎样入门?

爬虫三要素

我们按照爬虫的整个流程去归纳,可以将爬虫爬取网站数据的操作归纳为三个要素,分别是:
抓取
分析
存储

 

基础的爬虫抓取操作

1、urllib
在Python2.x中我们可以通过urllib 或者urllib2 进行网页抓取,但是再Python3.x 移除了urllib2。只能通过urllib进行操作
import urllib.request
response = urllib.request.urlopen('https://blog.csdn.net/weixin_43499626')
print(response.read().decode('utf-8'))
 

带参数的urllib

url = 'https://blog.csdn.net/weixin_43499626'
url = url + '?' + key + '=' + value1 + '&' + key2 + '=' + value2

2、requests
requests库是一个非常实用的HTPP客户端库,是抓取操作最常用的一个库。Requests库满足很多需求
import requests
# get请求
response = requests.get(url='https://blog.csdn.net/weixin_43499626') 
print(response.text)   #打印解码后的返回数据
# 带参数的requests get请求
response = requests.get(url='https://blog.csdn.net/weixin_43499626', params={'key1':'value1', 'key2':'value2'})
 

需要登录的情况

1、表单提交登录
向服务器发送一个post请求并携带相关参数,将服务器返回的cookie保存在本地,cookie是服务器在客户端上的“监视器”,记录了登录信息等。客户端通过识别请求携带的cookie,确定是否登录
params = {'username': 'root', 'passwd': 'root'}
response = requests.post("http:xxx.com/login", data=params)
for key,value in response.cookies.items():
    print('key = ', key + ' ||| value :'+ value)

2、cookie登录
我们可以将登录的cookie存储在文件中,
import urllib.request
import http.cookiejar
"""
保存登录的cookie
"""
"""
MozillaCookieJar : cookiejar的子类
从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。
"""
cookie = http.cookiejar.MozillaCookieJar('cookie.txt')
# 构建一个cookie的处理器
handler = urllib.request.HTTPCookieProcessor(cookie)
# 获取一个opener对象
opener = urllib.request.build_opener(handler)
# # 获取一个请求对象
request = urllib.request.Request('http://flights.ctrip.com/',headers={"Connection": "keep-alive"})
# 请求服务器,获取响应对象。cookie会在response里一起响应
response = opener.open(request)
# 保存cookie到文件
cookie.save(ignore_discard=True, ignore_expires=True)
 
 
"""
请求携带文件中的cookie
"""
 
import urllib.request
import http.cookiejar
cookie = http.cookiejar.MozillaCookieJar()
cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
request = urllib.request.Request('http://flights.ctrip.com/')
html = opener.open(request).read().decode('gbk')
 
print(html)
 

大数据量的爬虫爬取

如果涉及到比较大的数据量,如数万甚至数百万的数据爬取,这个时候,我们就要了解多线程、ip池的概念。一方面可以提升爬取效率,另一方面可以防范被封禁ip。

以上就是python爬虫入门的一个简单介绍,当然如果需要将爬虫在实战上用起来,也可以参考一下这篇简单的爬虫爬取百度图片的教程,内含完整的源码:怎样用python爬虫爬取百度搜索图片

本文地址:https://xzo.com.cn/develop/python/989.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于Python

Python免费、开源、简单,且含有海量的库。其功能也十分强大,不仅可以做网站、做爬虫、还可以做大数据、做人脸识别,等等等等。如果是新手入门,我们建议是首选Python。

推荐Python开发教程
Python中文分词器准确度与性能测试(jieba、FoolNLTK、HanLP、THULAC、nlpir、ltp)
Python中文分词器准确度与性能测试(jieba、FoolNLTK、HanLP、THULAC、nlpir、ltp)

国内知名度比较高的Python中文分词有哈工大LTP、中科院计算所NLPIR、清华大...

0 594
结巴分词的全模式、精确模式和搜索引擎模式用法与实例
结巴分词的全模式、精确模式和搜索引擎模式用法与实例

结巴分词支持3种模式:全模式、精确模式和搜索引擎模式,不同的模式效果会有差...

0 414
python多线程的概念与好处
python多线程的概念与好处

但凡对电脑知识了解多一点的朋友可能就听说过进程,而如果对蜘蛛爬虫有了解,那...

0 423
怎样用python爬虫爬取百度搜索图片
怎样用python爬虫爬取百度搜索图片

python爬虫爬取百度图片是很多人python爬虫入门后一个重要的练手项目。一方...

40 409
python爬虫怎样入门?
python爬虫怎样入门?

爬虫软件很多,支持爬虫功能的语言也很多,而用python做爬虫,辅以包罗万象的pyth...

0 443
推荐插件
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 268
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1078
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1218
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 368
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 757
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 851
帝国cms百度、必应bing、神马推送增强收录三合一插件
帝国cms百度、必应bing、神马推送增强收录三合一插件

因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...

0 96
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 466
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入