好文档 - 专业文书写作范文服务资料分享网站

Python学习总结

天下 分享 时间: 加入收藏 我要投稿 点赞

. .. . .. ..

? ? ? ? ?

数据类型和变量 字符串和编码 使用list和tuple 条件判断、循环 使用dict和set

你甚至不需要掌握函数、异步、多线程、多进程,当然如果想要提高自己小爬虫的爬虫效率,提高数据的精确性,那么记住最好的方式是去系统的学习一遍Python,去哪儿学习?Python教程

假设已经熟悉了最基础的Python知识,那么进入第二步:知道网页信息如何呈现?你首先要知道所需要抓取的数据是怎样的呈现的,就像是你要学做一幅画,在开始之前你要知道这幅画是用什么画出来的,铅笔还是水彩笔...可能种类是多样的,但是放到网页信息来说这儿只有两种呈现方式: 1、HTML (HTML 简介) 2、JSON (JSON 简介) HTML是用来描述网页的一种语言 JSON是一种轻量级的数据交换格式

假设你现在知道了数据是由HTML和JSON呈现出来的,那么我们紧接着第三步:数据怎么来?数据当然是从服务器反馈给你的,为什么要反馈给你?因为你发出了请求。

. v ..

. .. . .. ..

“Hi~ ,服务器我要这个资源” “正在传输中...”

“已经收到HTML或者JSON格式的数据”

这个请求是什么请求?要搞清楚这一点你需要了解一下http的基础知识,更加精确来说你需要去了解GET和POST是什么,区别是什么。也许你可以看看这个:浅谈HTTP中Get与Post的区别 - hyddd - 博客园

很高兴你使用的是Python,那么你只需要去掌握好快速上手 - Requests 2.10.0 文档,requests可以帮你模拟发出GET和POST请求,这真是太棒了。 饭菜已经备好,两菜一汤美味佳肴,下面就是好好享受了。现在我们已经拿到了数据,我们需要在这些错乱的数据中提取我们需要的数据,这时候我们有两个选择。

第一招:万能钥匙

Python正则表达式指南 ,再大再乱的内容,哪怕是大海捞针,只要告诉我这个针的样子我都能从茫茫大海中捞出来,强大的正则表达式是你提取数据的不二之选。

第二招:笑里藏刀

Beautiful Soup 4.2.0 文档,或许我们有更好的选择,我们把原始数据和我们想要的数据的样子扔个这个Beautifulsoup,然后让它帮我们去寻找,这也是一个不错的方案,但是论灵活性,第二招还是略逊于第一招。

. v ..

. .. . .. ..

第三招:双剑合璧

最厉害的招式莫过于结合第一招和第二招了,打破天下无敌手。 基础知识我都会,可是我还是写不了一个爬虫啊! 客观别急,这还没完。

以下这些项目,你拿来学习学习练练手。

一些教学项目你值得拥有:

? ?

03. 豆瓣电影TOP250 04. 另一种抓取方式

还不够?这儿有很多:

? ? ?

知乎--你需要这些:Python3.x爬虫学习资料整理 如何学习Python爬虫[入门篇]? - 知乎专栏 知乎--Python学习路径及练手项目合集

(四)Python爬虫进阶

爬虫无非分为这几块:分析目标、下载页面、解析页面、存储内容,其中下载页面不提。

. v ..

. .. . .. ..

1. 分析目标

所谓分析就是首先你要知道你需要抓取的数据来自哪里?怎么来?普通的网站一个简单的POST或者GET请求,不加密不反爬,几行代码就能模拟出来,这是最基本的,进阶就是学会分析一些复杂的目标,比如说:淘宝、新浪微博登陆以及网易云的评论信息等等。

2. 解析页面

解析页面主要是选择什么库或者那些库结合能使解析速度更快,可能你一开始你通过种种地方了解到了bs库,于是你对这个库很痴迷,以后只要写爬虫,总是先写上:

import requests

from bs4 import BeautifulSoup

当然bs已经很优秀了,但是并不代表可以用正则表达式解析的页面还需要使用bs,也不代表使用lxml能解决的还要动用bs,所以这些解析库的速度是你在进阶时要考虑的问题。

3. 存储内容

刚开始学爬虫,一般爬取的结果只是打印出来,最后把在终端输出的结果复制粘贴保存就好了;后来发现麻烦会用上xlwt/openpyxl/csv的把存储内容写入表格,再后来使用数据库sqlite/mysql/neo4j只要调用了库都很简单,当然这是入门。

. v ..

. .. . .. ..

进阶要开始学习如何选择合适的数据库,或者存储方式。当爬取的内容过千万的时候,如何设计使存储速度更快,比如说当既有人物关系又有人物关系的时候,一定会用neo4j来存储关系,myslq用来存储用户信息,这样分开是因为如果信息全部存入neo4j,后期的存储速度经十分的慢。

当你每个步骤都能做到很优秀的时候,你应该考虑如何组合这四个步骤,使你的爬虫达到效率最高,也就是所谓的爬虫策略问题,爬虫策略学习不是一朝一夕的事情,建议多看看一些比较优秀的爬虫的设计方案,比如说Scrapy。

除了爬取策略以外,还有几点也是必备的: 1. 代理策略以及多用户策略

代理是爬虫进阶阶段必备的技能,与入门阶段直接套用代理不同,在进阶阶段你需要考虑如何设计使用代理策略,什么时候换代理,代理的作用范围等等,多用户的抓取策略考虑的问题基本上与代理策略相同。 2. 增量式抓取以及数据刷新

比如说你抓取的是一个酒店网站关于酒店价格数据信息的,那么会有这些问题:酒店的房型的价格是每天变动的,酒店网站每天会新增一批酒店,那么如何进行存储、如何进行数据刷新都是应该考虑的问题。 3.验证码相关的一些问题

有很多人提到验证码,我个人认为验证码不是爬虫主要去解决的问题,验证码不多的情况考虑下载到本地自己输入验证码,在多的情况下考虑接入打码平台。

. v ..

Python学习总结

........?????数据类型和变量字符串和编码使用list和tuple条件判断、循环使用dict和set你甚至不需要掌握函数、异步、多线程、多
推荐度:
点击下载文档文档为doc格式
5gfgm21y1968ub00wtu64vbt01gdo5005h2
领取福利

微信扫码领取福利

微信扫码分享