在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
很多人喜欢将python作为自己的主开发语言,不仅仅是因为python的功能强大,更重要的是Python的代码简单易上手,并且相对应用领域非常广泛。想学习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
省略一行代码
print url
以上就是和大家分享的实现爬虫的一个真实案例。希望大家能够对爬虫有一个了解。当然在python学习中一定要自己亲手联系,目前企业对于求知者的要求更加注重其实战能力。所以掌握爬虫技术仅仅是入门,最好是能够熟练的应用。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
零基础自学必看python学习路线
目前的IT行业发展日趋迅猛,IT产业的产值成倍增长,不少人都打算从零基础开始学习python。对于零基础的初学者来说,最迷茫的是不知道怎样开始学习?那这里小编为大家规划了一条零基础自学必看python学习路线,可以快速入门,熟练语法。
6933
2019-07-05 16:34:56
Lambda表达式在Python中的优点和缺点
学过python的人,相信都接触过Lambda表达式。本文就来谈谈Lambda表达式在Python中的优点和缺点。一方面,Lambda函数的减少了代码的行数,方便又简洁。另一方面,Lambda表达式有诸多限制,不能使用复杂逻辑。
11550
2019-08-12 10:47:38
如何使用Python爬虫抓取数据?
Python爬虫应用十分广泛,无论是各类搜索引擎,还是日常数据采集,都需要爬虫的参与。其实爬虫的基本原理很简单,今天小编就教大家如何使用Python爬虫抓取数据,感兴趣的小伙伴赶紧看下去吧!
7935
2019-08-13 18:56:48
怎样学习Python
应该如何学习Python呢?买一本书、找一套视频、报名一个培训班?从理论上来讲,无论选择哪种学习方式,都可以掌握Python语言,但实际情况而言,总会因为某些原因导致自己的学习计划搁浅。所以在这里整理本片文章,希望本文能为大家的学习节约更多的时间成本。
4636
2020-05-15 18:06:36
常用的jQuery事件有几种?分别是什么?
常用的jQuery事件有几种?分别是什么?事件方法会触发匹配元素的事件或将函数绑定到所有匹配元素的某个事件。事件方法触发器或添加一个函数到被选元素的事件处理程序。
2788
2022-01-06 10:08:49