当前位置: 首页 > 后端技术 > Python

爬虫常用库介绍

时间:2023-03-26 18:07:04 Python

@[toc]urllibUrllib是python中的一个内置库。这个Python内置的Urllib库中有四个模块。那么我们重点关注这个模块error:error模块就是当我们在使用request模块的时候遇到错误,我们可以用它来进行异常处理parse:parse模块是用来解析我们的url地址的,比如解析域名地址,url指定的目录等robotparser:这个用的比较少,用来解析网站的robot.txt了解了urllib之后,我们可以用python代码模拟请求RequestsRequests这个库比我们的urllib好上次提到过但不得不说牛逼,毕竟Requests是基于urllib的。通过它我们可以用更少的代码模拟浏览器操作。对于不是python的内置库,我们需要安装,直接使用pip安装pipinstallrequests一行代码GETrequestr=requests.get('https://www.sina.com.cn/')一行代码postrequestr=requests.post('https://www.sina.com.cn/',data={'key':'value'})伪装成浏览器>>>url='https://www.sina.com.cn/'>>>headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/70.0.3538.25Safari/537.36Core/1.70.3704.400QQBrowser/10.4.3620.400'}>>>r=requests.get(url,headers=headers)获取服务器响应文本内容>>>importrequests>>>r=requests.get('https://www.sina.com.cn/')>>>r.textBeautifulSoup使用正则表达式提取信息太麻烦。有没有其他的方式可以更方便的过滤我们想要的内容呢?网页解析库,它的名字叫BeautifulSoup,它是一个Python库,可以从HTML或XML文件中提取数据,首先我们需要安装这个库pipinstallbeautifulsoup4beautifulsoup支持HTML解析、XML解析、HTML5解析等不同的解析器一般我们使用lxml解析器的时候比较多。下面通过一个例子,让大家体验一下beautifulsoup的一些常用方法。先安装pipinstallbeautifulsoup4pipinstalllxml然后把html的源码传给BeautifulSoup这个时候我们不需要自己写正则匹配了。我们要做的就是直接从这个对象中获取我们想要的内容,获取title的内容。比如我们有这么一段HTML代码,然后把HTML的源代码传给BeautifulSoup,这个时候,我们就不需要自己写正则匹配了。我们要做的就是直接从这个对象中获取我们想要的内容,获取标题的内容。然后我们可以得到标签内容、链接内容和文本内容。除了find方法,如果对css比较熟悉的话,还可以使用selenium的select方法。什么是硒?其实就是一个支持各种主流浏览器的自动化测试工具。遇到python,selenium就成了爬虫利器。让我们先安装pipinstallseleniumChrome:https://sites.google.com/a/ch...Edge:https://developer.microsoft.c...Firefox:https://github.com/mozilla/ge...Safari:https://webkit.org/blog/6900/...那么我们来试试代码吧。我们发现自动弹出一个Chrome浏览器窗口。这就是硒的魅力。让我们看一下我们刚刚编写的代码。这样就完成了一次自动百度搜索。当我们使用驱动程序打开一个页面时,它没有任何问题。鸟,因为我们要对那些元素进行操作就像我们只想获取输入框然后输入一些内容获取按钮点击什么的,selenium提供了很多方法让我们获取,当我们想要获取一个page当你想获取页面上的多个元素时可以使用这些方法