在线客服
扫描二维码
下载博学谷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还是找不到好工作?
在人工智能中最适合的语言就是Python,因而人工智能的热潮让Python也火了一把。根据第 19 届 KDnuggets调查显示,Python 成数据分析、数据科学与机器学习的第一大语言。然而还是有求职者有这样的困扰:为什么学完了Python还是找不到好工作?
9192
2019-07-08 09:17:35
Python内置函数总结
在Python编程开发中,Python解释器自带的函数叫做内置函数,这些函数在编程中可以直接使用,不需要import导入某个模块。内置函数是解释器的一部分,伴随着解释器启动而生效,因此为了保持解释器的轻便优雅,内置函数的数量被严格限制。
6913
2020-06-08 16:28:45
列表标签有几种?分别是什么?
列表标签有几种?分别是什么?HTML 支持有序、无序和定义列表,无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记;有序列表也是一列项目,列表项目使用数字进行标记。
7670
2021-12-14 16:03:12
数组及数组的操作方法是什么?
数组及数组的操作方法是什么?数组是一组数据集合,javascript中数组里面的数据可以是不同类型的数据。数组操作方法获取数组的长度, 根据下标取值,从数组最后添加和删除数据,根据下标添加和删除元素。
5252
2021-12-28 17:01:01
jQuery如何获取和设置元素属性?代码怎么写?
jQuery如何获取和设置元素属性?代码怎么写?通过val方法来获取value属性和设置value属性,使用prop方法设置标签的其它属性也可以。
5614
2022-01-05 14:02:28
