随笔分类 -  洗礼灵魂,修炼python

零基础python学习随笔,个人原创见解
摘要:上面截图的是我的草稿 然后当我开始写博文的时候,我发现讲解PhantomJS的话,会涉及到JS代码,而相信跟着我的学习路线从小白上来的,应该都还没学过JS吧,说到JS,那么和Phantom很像的一个模块casperjs,也要跟着提点下,那么还要从JS开始讲解 然后说到PyQuery,其又几乎和JQuery差不多,又要提下JQuery 阅读全文
posted @ 2017-12-12 17:19 Eeyhan 阅读(461) 评论(0) 推荐(0) 编辑
摘要:Xpath,lxml模块用法 转载的原因和前面的一样,我写的没别人写的好,所以我也不浪费时间了,直接转载这位崔庆才大佬的 原帖链接:传送门 以下为转载内容: -------------------------------------------------------------------------------------------------------------------------------- 参考来源 lxml用法源自 lxml python 官方文档,更多内容请直接参阅官方文档,本文对其进行翻译与整理。 lxml XPath语法参考 w3school 阅读全文
posted @ 2017-11-29 13:20 Eeyhan 阅读(210) 评论(0) 推荐(0) 编辑
摘要:在前面的某一篇中,说完了pickle,但我相信好多朋友都不懂到底有什么用,那么到了爬虫篇,它就大有用处了,而和pickle很相似的就是JSON模块 JSON 1.简介 1)JSON(JavaScript Object Notation) ,js对象标记,是一种轻量级的数据交换格式。它易于阅读和编写,同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集,所以有另一个说法,JSON 语法是 JavaScript 对象表示语法的子集。 阅读全文
posted @ 2017-11-27 16:23 Eeyhan 阅读(252) 评论(0) 推荐(1) 编辑
摘要:feedparser模块 1.简介 feedparser是一个Python的Feed解析库,可以处理RSS ,CDF,Atom 。使用它我们可从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。 RSS(Really Simple Syndication,简易信息聚合):是一种描述和同步网站内容的格式你可以认为是一种定制个性化推送信息的服务。RSS 是用于分发 Web 站点上的内容的摘要的一种简单的 XML 格式它能够解决你漫无目的的浏览网页的问题。它的信息越是过剩,它的意义也越加彰显。网络中充斥着大量的信息垃圾,每天摄入了太多自己根本不关心的信息。让自己关注的信息主动来找自己,且这些信息都是用户自己所需要的,这就是RSS的意义 比如这个链接:http://feed.cnblogs.com/blog/sitehome/rss 阅读全文
posted @ 2017-11-26 21:51 Eeyhan 阅读(395) 评论(0) 推荐(0) 编辑
摘要:题外话: 爬虫学到这里,我想你大部分的网站已经不再话下了对吧?有检测报文头的,我们可以伪造报文头为浏览器,有检测IP,我们可以用代理IP,有检测请求速度的,我们可以用time模块停顿一下,需要登录验证的,我们可以用cookielib模块搞定登录,HTML标签嵌套太多层的,我们可以用BeautifulSoup轻松取出来,等等方法,反正反爬虫机制怎么样,我们基本都有方法解决。 很厉害对吧?别得意忘形了,还有些反爬虫机制,网页是JS动态加载的,或者AJAX异步加载的,还有动态验证码验证的等等的,这些机制造成的难度那才是真正的难度。后期也会跟着解析 其实你有没有发现,在我们写爬虫的过程中,在潜移默化的复习前面的基础知识,很不错对吧?既能写爬虫,还能复习,在其中能掌握好多好多知识,是的。不过在这里,我还是建议大家稍微的了解一下html标签和css样式,或者你还可以学习一下js,这样对后期搞爬虫很有帮助,需要去了解每个标签或者代码是什么含义,什么作用,当写爬虫时遇到了,才能立马做出解决方法对吧? 阅读全文
posted @ 2017-11-26 21:14 Eeyhan 阅读(724) 评论(0) 推荐(0) 编辑
摘要:学完前面的教程,相信你已经能爬取大部分的网站信息了,但是当你爬的网站多了,你应该会发现一个新问题,有的网站需要登录账户才能看到更多的信息对吧?那么这种网站怎么爬取呢?这些登录数据就是今天要说的——cookie cookie 其实在前面在解析requests模块时也提到过的。 阅读全文
posted @ 2017-11-23 18:19 Eeyhan 阅读(859) 评论(1) 推荐(0) 编辑
摘要:说明一下,这个标题可能有点突兀,结合上一篇一起看就行 前面已经对BeautifulSoup有了了解了,相信你基本已经学会怎么获取网页数据了,那么BeautifulSoup这么吊,还有没有其他的功能呢?当然是有的 前面说的Tag对象都还记得吧?像这样BeautifulSoup.title,得到的就是Tag对象,它其实还有一些属性: 1.contents:将tag的子节点以列表的方式输出 阅读全文
posted @ 2017-11-10 18:39 Eeyhan 阅读(291) 评论(0) 推荐(0) 编辑
摘要:前面解析了正则表达式,其实内容还挺多的对吧?确实挺适用的,不仅是python,其他语言或者web前端后端基本都要掌握正则表达式知识,但是你说,这么多,要完全的掌握,灵活运用的话,得搞多久啊?并且如果一次匹配稍有差池,一步错,步步错,并且很多朋友相信其实还不太熟练正则表达式,咋办呢?有没有什么可以替代正则表达式呢?哎,有的,那就是——BeautifulSoup。 阅读全文
posted @ 2017-11-10 12:25 Eeyhan 阅读(256) 评论(0) 推荐(0) 编辑
摘要:前面学习了元家军以及其他的字符匹配方法,那得会用啊对吧?本篇博文就简单的解析怎么运用 正则表达式使用 前面说了正则表达式的知识点,本篇博文就是针对常用的正则表达式进行举例解析。相信你知道要用正则表达式的话,得导入re模块 1.re模块方法/属性 阅读全文
posted @ 2017-11-09 15:14 Eeyhan 阅读(196) 评论(0) 推荐(0) 编辑
摘要:决这个问题呢?那就是这一篇博文的主题—— 正则表达式简介 1.概念理解 正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质上是一个微小的且高度专业化的编程语言。正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。使用正则表 阅读全文
posted @ 2017-11-06 22:31 Eeyhan 阅读(296) 评论(9) 推荐(1) 编辑
摘要:正题 前面学了那么多模块啊,什么方法属性,请求啥的,相信你不说精通,至少你可以爬一个网站了吧? 其实,我想说,爬虫真的不仅限于此,之前我提过,访问一个网站时,网站服务器可以看到客户端访问信息,以及以什么方式访问,如果是程序访问,原则是不行的,所以会被拒绝访问,因此需要修改参数来隐藏,我们已经学过的就是修改报文头部信息,模仿成浏览器式的访问,但这个还是有个问题,由于使用同一个IP多次访问,网站服务器不管user-agent是否是程序还是浏览器人为访问,都直接拒绝访问,或者显示验证页,让你输入验证码才行,网络爬虫自然是无法输入验证码的,输入验证码的相信你都知道吧,其实现在很多网站都有验证码才能过,这种就是简单防爬虫 阅读全文
posted @ 2017-11-06 17:34 Eeyhan 阅读(257) 评论(0) 推荐(0) 编辑
摘要:requests 1.简介 Requests 是用Python语言编写的第三方库,所以你需要pip安装,安装过程就略过了。它基于urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便实用,功能强大,可以节约我们大量的工作,满足一般的HTTP 测试需求。最重要的是,它支持 Python3 2.方法/属性 阅读全文
posted @ 2017-11-06 10:22 Eeyhan 阅读(288) 评论(0) 推荐(0) 编辑
摘要:这里先要补充一下,Python3自带两个用于和HTTP web 服务交互的标准库(内置模块): http.client 是HTTP协议的底层库 urllib.request 建立在http.client之上一个抽象层,它为访问HTTP和FTP服务器提供一个标准的API,可以自动跟随HTTP重定向并处理一些常见形式的HTTP 认证 httplib2 1.简介 阅读全文
posted @ 2017-11-05 17:57 Eeyhan 阅读(427) 评论(0) 推荐(0) 编辑
摘要:httplib 1.简介 同样的,httplib默认存在于python2,python3不存在: 阅读全文
posted @ 2017-11-05 10:39 Eeyhan 阅读(250) 评论(0) 推荐(0) 编辑
摘要:urllib3 1.简介 urllib3相比urllib,urlib2,又有些一些新的功能,可以实现很多东西,而这个模块有点特殊的是,并且还可以同时存在于python2和python3,但说实话,用的真的很少的。 阅读全文
posted @ 2017-11-04 11:31 Eeyhan 阅读(409) 评论(0) 推荐(0) 编辑
摘要:前面既然都提到编码了,那么把相关的编码问题补充完整吧 编码 之前我说过,使用python2爬取网页时,容易出现编码问题,下面就真的拿个例子来看看: python2下: 阅读全文
posted @ 2017-11-03 14:26 Eeyhan 阅读(216) 评论(0) 推荐(0) 编辑
摘要:其实在最前面的某一篇博文里,是绝对提过编码的,有ASCII,有UTF-8,有GB2312等等,这些我绝对说过的。 url编码 首先,Http协议中参数的传输是"key=value"这种键值对形式的,如果要传多个参数就需要用“&”符号对键值对进行分割。如"?key1=value1&key2=value2",这样在服务端在收到这种字符串的时候,会用“&”分割出每一个参数,然后再用“=”来分割出键和值并进行处理。 然后,url只能使用 ASCII 字符集来通过因特网进行发送,也就是说url允许的只能是英文字母、阿拉伯数字和某些标点符 阅读全文
posted @ 2017-11-03 11:37 Eeyhan 阅读(314) 评论(0) 推荐(0) 编辑
摘要:状态码 含义 100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。   只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。 阅读全文
posted @ 2017-11-02 17:50 Eeyhan 阅读(239) 评论(0) 推荐(0) 编辑
摘要:urllib2 1.简介 urllib2模块定义的函数和类用来获取URL(主要是HTTP的),他提供一些复杂的接口用于处理: 基本认证,重定向,Cookies等。urllib2和urllib差不多,不过少了些功能,又多了些功能不仅可以使用http协议,而且可以扩展到ftp等协议,大体的用法没什么区别 阅读全文
posted @ 2017-11-02 17:28 Eeyhan 阅读(277) 评论(0) 推荐(0) 编辑
摘要:urllib 1.简介: urllib 模块是python的最基础的爬虫模块,其核心功能就是模仿web浏览器等客户端,去请求相应的资源,并返回一个类文件对象。urllib 支持各种 web 协议,例如:HTTP、FTP、Gopher;同时也支持对本地文件进行访问。但一般而言多用来进行爬虫的编写。 阅读全文
posted @ 2017-11-01 22:41 Eeyhan 阅读(229) 评论(0) 推荐(0) 编辑