您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
如何入门Python爬虫?
爬虫,网页,入门如何入门Python爬虫?
发布时间:2019-02-08加入收藏来源:互联网点击:
如何入门Python爬虫?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
今天给大家分享干货不废话,很多新都会想知道Python爬虫好学吗?看你怎么学了。如果是自学,会难一些,毕竟有难题很难找到人帮你解答,很容易半途而废。要是你找到了一家靠谱的学校,就会容易很多。不过,这里我想教你入门Python爬虫。
一:爬虫准备(在安装好Python的前提下)
1.爬虫首先需要做的事情就是要确定好你想要爬取数据的对象,这里我将以百度主页logo图片的地址为例进行讲解。
2.首先,是打开百度主页界面,然后把鼠标移动到主页界面的百度logo图标上面,点击鼠标右键,然后点击审查元素,即可打开开发者界面。
3.然后再下面的界面里面,可以看到该logo图标在HTML里面的排版模式,<img hidefocus="true" src="//百度/img/bd_logo1.png" width="270" height="129">,这里百度我用字替换了。
二:开始爬虫
1.爬虫主要分为两个部分,第一个是网页界面的获取,第二个是网页界面的解析;爬虫的原理是利用代码模拟浏览器访问网站,与浏览器不同的是,爬虫获取到的是网页的源代码,没有了浏览器的翻译效果。
2.首先,我们进行页面获取,python爬虫的话很多模块包提供给开发者直接抓取网页,urllib,urllib2,requests(urllib3)等等,这里我们使用urllib2进行网站页面的获取;首先导入urllib2模块包(该包是默认安装的):import urllib2
3.导入模块包之后,然后调用urllib2中的urlopen方法链接网站,代码如下repr = urllib2.urlopen("XXXXXX"),XXXXXX代表的是网站名称。
4.得到网站的响应之后,然后就是将页面的源代码读取出来,调用read方法,html = repr.read()
5.获取到页面的源代码之后,然后接下来的工作就是将自己想要的数据从html界面源代码中解析出来,解析界面的模块包有很多,原始的re,好用的BeautifulSoup,以及高大上的lxml等等,这里我就简单的用re介绍介绍,首先导入re模块包:import re
6.然后进行利用re进行搜索,这里我有使用正则表达式,看不懂的同学需去补充点正则表达式方面的知识。
7.然后,我这里就实现了一个简单的爬虫流程,打印url,可以看见刚好就是之前我们看见的百度主页logo的地址。
8.源代码:
import urllib2
repr = urllib2.urlopen("URL")
html = repr.read()
import re
省略一行代码 最后学习这一步,相信同学门基本入门了
回答于 2019-09-11 08:43:50
我这两天刚发了Python爬虫的小程序,网上抓取《老友记》的剧情。
这个例子从安装python开始一直到爬出数据存到文件中。
我觉得python爬虫入门先从简单入手,一堆学习资料拿到手也不一定会看,最最简单的:
知道python基本语法
学过编程的人很快就能掌握, 即使没学过的看例子,再加上一句一句的解释也能明白。
然后搭建环境
这是必备步骤,比如安装python, Jupyter Notebook 和网页爬虫相关的包
找例子直接上手
看资料不动手会看的没兴趣,自己动手爬出东西才有成就感。
我觉得这就入门了,至于网页开发语言,它不是爬虫的障碍,遇到不同格式的网页,自己查一下用法就好了。学编程最重要的是学解决问题的能力,而不是一堆类型和语法……你说对么?
关注我了解更多python的应用,欢迎加入圈子,共同学习
回答于 2019-09-11 08:43:50
这个问题我会,本蛋之前在网易做个三个月的爬虫实习生,自己用爬虫接的外包也挣了小几千块钱。对于爬虫的学习方面自己也是有一定的心得,接下来就从几个方面简单的介绍一下爬虫学习的路线。
磨刀不误砍柴功
万丈高楼平地起,磨刀不误砍柴功。要想学习好爬虫,一定要用良好的python基础,所以爬虫学习的第一步是先磊实基础。关于python的入门课程也有很多,可以上去B站上边白嫖,随便找个观看数比较多的看就可以咯。看到大概知道怎么用pymysql啥的链接数据库基本上就可以咯。当然,正则表达式是重点,后边解析网页内容的时候会经常用到。
requests
python中标准的爬虫库有urllib,但是一般推荐新手用第三方请求库requests,因为urllib的接口调用真是星号比的繁琐,requests对其进行了进一步的封装,让你加请求头、使用代理IP的更加方便。
数据爬下来后还要进行进一步的解析,解析方面如果是json格式的数据直接用json库loads,再用键值对方式提取出来即可。如果包含很多标签,那么就要掌握一下bs4和xpath的用法,这边强烈建议熟悉xpath的开发文档,对后边使用框架有极大的帮助。
scrapy框架
学习完requests后可以进一步学习一下scrapy框架的用法。scrapy也不难,就简单的分为请求队列、调度器、中间件等等五个部分。主要是希望你能够深刻的去理解settings文件里边每一个开关的作用,对你的爬虫项目开发会起到很大的帮助,不管是限速、并发、分布式啥的,都挺好。
https,tcp
学习的过程中,可以穿插http、tcp方面的知识。所以的网络交互都是用一个个请求所组成的。前端再花里胡哨的功能,都是背后一串请求在支持。研读http和tcp的知识可以让你更加透彻的理解请求。当然,这些知识也是面试的高频考点,学好了百利而无一害。
总而言之,爬虫学习可以大概分成两部分,第一部分python基础,可以B站自己找视频看看,第二部分爬虫学习,推荐崔庆才的爬虫书,书上关于爬虫的知识应有尽有,啃完那一本书基本上就可以对爬虫所涉及到的方方面面有一个比较全面的理解。至于js逆向啥的,以后再说。有问题的小伙伴可以私信找我交流!
上一篇:七代i7-7500u,八代i5-8250u,哪个好?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |