美文网首页ITpython加油站我爱编程
Python 3 网络爬虫学习建议?

Python 3 网络爬虫学习建议?

作者: Python程序媛 | 来源:发表于2017-04-03 13:11 被阅读115次

    我还是倾向于使用”在趋势中将会越来越火”的版本, 而非”目前已经很稳定而且很成熟”的版本. 这是个人喜好, 而且预测不一定准确. 但是如果Python3无法像Python2那么火, 那么整个Python语言就不可避免的随着时间的推移越来越落后, 因此我想其实选哪个的最坏风险都一样, 但是最好回报却是Python3的大. 其实两者区别也可以说大也可以说不大, 最终都不是什么大问题. 我选择的是Python 3.

    在 Windows 下如果安装了 Python3, 那么在 cmd 下直接可以通过 pip 来安装这两个模块, 命令如下:

    pip install requests

    pip install beautifulsoup4

    在 Ubuntu 下安装方法如下:

    sudo apt-get install python3-pip

    sudo pip3 install requests

    sudo pip3 install beautifulsoup4

    然后我们运行 Python3, 试一下是否能把这两个模块 import 进来, 就知道是否安装成功了:

    C:\Users\Liu>python

    Python 3.4.2 (v3.4.2:ab2c023a9432, Oc

    Type "help", "copyright", "credits" o

    >>> import requests

    >>> from bs4 import BeautifulSoup

    >>>

    Requests Module

    Requests 是 Python 界大名鼎鼎的一个网络库, 其设计哲学是为人类而设计, 所以他提供的功能都非常的人性化. 他的方便对我而言主要有两大点:

    对 GET 和 POST 方法的封装做的很好, 自动处理了编码等问题;

    默认开启了 Cookies 处理, 在处理需要登录的问题上面非常方便.

    Requests 的方便之处不止这两点, 还提供了诸如标准登录接口之类的功能, 我们暂时用不上.

    总而言之, 对于使用过 urllib 的我们来说, 用 requests 会感觉我们之前生活在石器时代. 第三方库的强大就在于这里, 这也是 Python 这么火的重要原因.

    BeautifulSoup Module

    BeautifulSoup 大大方便了我们对抓取的 HTML 数据的解析, 可以用tag, class, id来定位我们想要的东西, 可以直接提取出正文信息, 可以全文搜索, 同样也支持正则表达式, 相当给力.

    小试牛刀

    我们随便抓取一个页面, 然后用 soup 来解析一下试试他的威力:

    >>> import requests

    >>> from bs4 import BeautifulSoup

    >>> response = requests.get("http://jecvay.com")

    >>> soup = BeautifulSoup(response.text)

    >>> print(soup.title.text)

    Jecvay Notes - Good luck & Have fun

    >>> print(soup.body.text)

    改版策略: 技术博客的真正索引

    上周, 我换掉了我博客的主题, 使用 BootStrap 框架自己写了一个. 在自己动手写博客主题之前,

    我时常时不时到后台主题商店去翻一翻, 想要发现更好看的主题. 挑选有两种:

    在一大堆展示面前, 快速浏览, 看到亮眼的就仔细看一看是否满意;

    自己想好一个目标, 然后用筛选器(或者人肉)筛选出来.

    阅读全文 >> (...省略若干)

    >>> for x in soup.findAll("a"):

    ...  print(x['href'])

    ...

    http://jecvay.com/2015/02/the-real-index-of-tech-blog.html

    http://jecvay.com/2015/02/the-real-index-of-tech-blog.html

    http://jecvay.com/2015/01/wordpress-super-cache.html

    http://jecvay.com/2015/01/learning-vps-3.html

    http://jecvay.com/2015/01/nobot-anti-webspider.html

    http://jecvay.com/2015/01/learning-vps-2.html

    http://jecvay.com/2014/12/learning-vps-1.html

    http://jecvay.com/2014/11/what-is-min-cut.html

    http://jecvay.com/2014/11/compiler-makes-fast-build.html

    /about-me

    /archive

    还有:What's IDE?

    IDE 是什么鬼?这是很多人决定入门编程时候的一个问题,好不容易在电脑上安装了语言,结果发现好需要配置一个 IDE,往往为了搞个 IDE 太麻烦而直接放弃了编程的入门。今天我给大家介绍一种对于写爬虫程序最为简单有效的 IDE 搭建方式。

    IDE(集成开发环境)

    一般 IDE 就是指一个开发环境,C++有 C++的特定开发环境,或者说特定的开发软件,python 也有 python 对应的python IDE,不过目前网络上的 IDE 非常多,有的又非常复杂。

    一般来讲一个 IDE 需要具备的几项功能:

    1. 编辑器 - 一个能让你写代码、保存代码的地方

    2. 编译 - 就是将编程语言转化为计算机可以理解的汇编语言(把 python 转化成二进制)

    3. 调试 - 可以理解为在语法上将程序跑通,并且能够在出错时,告诉你是哪里出错,原因是什么

    4. 运行 - 让你的程序直接在 IDE 环境中运行

    如何配置

    废话不多说了,直接重磅推荐一个编辑器:sublime Text ,点击直接下载。

    sublime特点

    支持各种语言。sublime 其实就是一个编辑器,类似于电脑的上的记事本(txt 格式的),sublime 支持编辑各种类型的语言,php、python、html等语言都可以在 sublime 上编辑。

    轻。sublime 极为轻巧,几乎不占多少内存(最为难得)

    易上手。 没有极为复杂的设置选项,界面亲民

    玩法强大。sublime 对于爱折腾的开发者来说,可谓扩展性极强。sublime 官方提供非常丰富的插件,可以让你在编辑代码时的效率大为提高(当然对于初学者来说简单了解下就好)。

    最后:

    自己多问下为什么学python

    如果一门语言没有改变你的编程思维,那么它不值得你去学习”。如果这么说,我们大学的时候,学习了c,c++,java,C#,算是值得学习么?很多时候是不值得,我觉得我们大学的课程就是用java,c#,c++把"C程序设计"又上了一遍.

    这是因为,学校的老师会C和java之类的,所以要跟着规矩开这门课,(这也就是为什么,许多学校还在教vb,),这也就是为什么,你所以为的一样就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所谓的不一样就是用C有指针,java没有,这就是为什么教育是失败的,这也就是为什么,我目前认识的几个编程大牛

    python的优点:简单 我所说的简单,是相比于象C和C++这样的语言,你为了编程,要学习许多偏底层的东西.在比如,你在学习一个新的编程范式,或者想要马上做个例子看看,试验某个API,如果你是写java的,你不得不去写一个main,写一些构造,即使有IDE这样的东西,能够为你带来代码生成器,而我做得就是写一段“脚本”,或者打开python交互式解释器就行了。

    自己认识的python朋友出去工作,工资比较高,然后自己又刚刚好是会python所以选择学习python,这样的人比较危险但是也比较有激励,还有就是觉得python比其他开发语言好用。

    学完python前景会咋样

    其实我个人是很看好python未来的就业前景的,因为我认识太多的工程师都已经在学python,很多都是月收入大几万的

    我个人也并非一直用python。前些年主要用c/c++以及java开发一些通信,移动系统,互联网通信。近3年开始才转向python。坦白的说,这可能与你相处的公司以及环境不大一样。随便举个例子,google的protocol buffer协议一出来就具有c++/python/java三种语言支持。google的广告系统早在03,04年左右就一并对python进行了webservice支持,大部分涉及基础核心系统的公司,都开始对python进行了扩展支持。甚至开源社区的postgresql数据库,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外对python进行了内嵌支持,唯独却没有呼声很高的java。在FREEBSD(MIT)/LINUX(GPL)平台上,对java可能排斥性比较大,但综合而言,目前python发展还没有java那种普及,主要是python大部分工作仍然是在较为深入地系统层和框架层做设计开发,例如django,SQLAlchemy,fail2ban,mail邮件系统,twisted等等。这部分对于那种习惯应用前辈们框架的编码人员而言,缺乏创造力的他们根本无法适用这种开发。尤其在python涉及一些系统层面需要有较强的c/c++能力,这部分人在国内要么就累得要死没时间,要么就啥都不会就会拷贝代码,而国内公司也鲜有主动去做这部分基础劳动的,大多都是等别人做好了在直接拿来用,所以造就了任何技术性的东西出来,国内都是先等等看,然后抄袭应用。

    大环境如此,但千万误认为先等等看吧。对于一个技术人员而言,缺乏对新技术的渴望与热情,这是一种非常危险的事情。我工作8年了,按照国内很多的人的说法早已不做代码了,但又一次在听一个老外的演讲,他说他50多岁仍然每天坚持写代码,了解最新的动态,所以他才能做到他们公司的首席科学家,因此它才能时刻指导项目团队前进并保证项目的质量。他坦言对于一个不写代码并且不了解最新的技术动态的技术人员或者技术团队的负责人而言,这种团队也就足够做作小项目,一旦压力和项目过大,就会有很多问题漏出来。

    对于新人而言,无论学习什么技术,都要以鼓励的姿态出现。太多用薪水和你个人所看到的现状去衡量一门技术,那绝对是欠缺眼光的。任何一门技术,一旦有人学习,他有可能逐渐成为这个领域的专家,即便再滥再没有人用的开发语言技术,他也有可能就是明日的奠基者或者大师。

    自己如何确定目标

    在生活中学会不断挖掘自己的潜力。我们都是一个普通人,可能并不清楚自己到底在哪方面占有优势。所以,学着在生活中找到自己的优势,并根据优势选择一定的就业方向。

    不随波逐流。不要看周围的人做什么,自己就做什么,也许别人做的并不适合你。别人的优势很可能会成为你的劣势。所以,坚定自己的想法,让自己知道那些方面适合自己,自己可以胜任。

    不断尝试可能成为自己的优势。你不知道什么适合自己,所以才要大胆、勇敢地尝试。找到一种可以属于你的独特的优势。

    坚定信念。一旦你坚定了自己的信念,就不要被别人的意见或是讽刺或是嘲笑所干扰。别人不是你,不懂的你在想什么,不清楚你开始这件事的源头。你的事情,不了解你的人,没有资格轻易评说。

    不茫然,不多想。别让太多的事干扰到你奋斗下去的信念。梦想不容许太多的杂念。那些杂念只会让你的心愈来愈脆弱,多为一个人考虑,到头来,伤害的还是自己。

    选择自己学习方法

    每个人都有适合自己的方法,有的人去选择自学,有的人选择看视频学习,有的人选择报名培训班,那在这个时候,你就要自己考虑清楚,到底那样对的帮助是最大的,个人觉得是跟着培训班最好的,毕竟人家的实战项目多,我们学软件开发的都知道实战项目对于学好一门语言是 很重要的。

    学习python有那些误区

    具体里面的误区非常的多,那些就不需要我去写出来,我给你说的一般都是心态的问题,首先一个觉得自己会java和c++,然后我学习python就很牛,但是你要知道语言是有很多相同的地方,但是不是通用,一定要自己学习的仔细。还有一种就是觉得我不会英语,我要先去把英语学习好在来学python。因为自己想还坏主意然后学习,这样的都是容易找进误区的。

    怎么样才能学好python

    学好python你需要一个良好的环境,一个优质的开发交流群,群里都是那种相互帮助的人才是可以的,我有建立一个python学习交流群,在群里我们相互帮助,相互关心,相互分享内容,这样出问题帮助你的人就比较多,群号是304050799,这样就可以找到大神聚合的群,如果你只愿意别人帮助你,不愿意分享或者帮助别人,那就请不要加了,你把你会的告诉别人这是一种分享。

    感觉写的好,对你有帮助,就点个赞呗,别光只收藏哈.~( ̄▽ ̄)~

    相关文章

      网友评论

        本文标题:Python 3 网络爬虫学习建议?

        本文链接:https://www.haomeiwen.com/subject/fuonottx.html