Python爬虫入门知识点有哪些


这篇文章主要讲解了“Python爬虫入门知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python爬虫入门知识点有哪些”吧!1、什么是爬虫
“爬虫”是一种形象的说法。互联网比喻成一张大网,爬虫是一个程序或脚本在这种大网上爬走。碰到虫子(资源),若是所需的资源就获取或下载下来。这个资源通常是网页、文件等等。可以通过该资源里面的url链接,顺藤摸瓜继续爬取这些链接的资源。你也可以把爬虫当作模拟我们正常上网。打开网页并分析网页的内容获取我们想要的东西。那么,这里就涉及到http传 香港云主机输协议等相关的知识。我们通常打开一个网页,基本上都是打开一个Url链接即可。在这个过程当中,实际上发生了很多事情。打开一个Url链接,浏览器自动向Url链接的服务器发送一个请求(Request),告诉服务器说我需要访问这个Url链接的内容,请返回数据给我。服务器就处理该请求,响应该请求并返回结果给浏览器。既然爬虫需要模拟该过程。根据http协议,爬虫需要构造一个请求(Request),发到请求到目标服务器(通常是Url链接)。然后等待服务器的响应(Response)。所有相关的数据都在这个响应结果当中,这个就是爬虫实现的基本逻辑。GET和POST是请求中最常见的两种方式。(一共有6种)GET方式是通过Url链接的方式传输相关的参数或数据。一般打开网址是GET方式请求,例如打开百度首页、谷歌首页。有时候,需要向这个链接传输一些参数。例如我在百度搜索一个词,发现链接变成https://www.baidu.com/s?ie=UTF-8&wd=测试这里有个?问号以及后面一堆数据。问号后面的数据是GET请求的参数,这里一共有两组参数。1)ie = UTF-82)wd = 测试每组参数用&符号链接。在参数中,等号前面的是参数名;等号后面的是参数值。例如第2组参数的含义是百度搜索关键字为“测试”。第1组参数是设置返回ie浏览器的编码格式,可有可无,作为说明加入进来。那么,我使用urllib2模拟百度搜索代码如下:执行代码,可以看到爬取的内容。
有些服务器为了避免被爬虫,会检查header。header是发送请求的时候,一起发送给服务器的数据。可以通过header得到浏览器的类型,手机端还是电脑端访问,以及从什么地方进入该链接等等。若发现不是正常浏览器访问,服务器则直接拒绝。so~ 我们需要进一步模拟浏览器的行为,需要模拟设置header。同样,若你不知道如何设置header,可以通过抓包软件获取,例如Fiddler。前面说了这么多,都是为了获取网页内容html。既然获取到html之后,我们解析?从中提取我们需要的数据?我们所获取的html本质是字符串。处理字符串最基本的方法是通过相关的字符串函数,但效率很低,容易出错。
还可以使用正则表达式处理字符串。这部分的知识也是很多,大家可以自行了解。这里,我想给大家说的处理方式是使用BeautifulSoup。BeautifulSoup是解析html/xml的库。非Python自带的库,安装如下:
安装lxml库是为了加快html解析效率。先我们设置1个html内容,使用BeautifulSoup解析方法如下:
test1test2soup是解析得到的解析器。我们可以根据html的结构获取对应的节点。例如我想获取p标签
但该方法只能获取到第1个节点。假如body标签下有很多p节点,该方法无法获取全部。这里,我们可以用find_all或select方法获取。建议大家使用select方法,这个方法可以jQuery选择器用法差不多。例如:来个完整的代码,输出结果:test1test2通过该方法,可以输出全部p标签。那假如我要获取p标签的属性和数据呢?方法如下:若一个标签里面有很多子标签,你可以再进一步继续使用select。
若想获取标签下全部子标签的文本内容。可以用strings属性得到一个生成器,不过可能有很多回车和空格。若想屏蔽回车和空格,可以使用stripped_strings属性。如下所示:将分别得到:感谢各位的阅读,以上就是“Python爬虫入门知识点有哪些”的内容了,经过本文的学习后,相信大家对Python爬虫入门知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: ceph隔离级别的示例分析

这篇文章主要介绍ceph隔离级别的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! ceph的隔离级别默认都是host级别,也就是说两个副本不会同时落在同一个host 上的磁盘中。这样就保证了有一台机器故障不导致数据不可用。但是如…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 10/10 11:25
Next 10/10 11:35

相关推荐