当前位置:首页 > 数码 > 摸索这些弱小的工具-Python爬虫罕用库大全 (摸索这些弱小的人)

摸索这些弱小的工具-Python爬虫罕用库大全 (摸索这些弱小的人)

admin8个月前 (05-03)数码32

在消息时代,数据是无处不在的宝藏。从网页内容、社交媒体帖子到在线商店的产品消息,互联网上存在着少量的数据期待被搜集和剖析。

/target=_blankclass=infotextkey>Python爬虫是一种弱小的工具,用于从互联网上失掉和提取数据。

一、Requests-构建HTTP恳求

Requests库是Python中用于动员HTTP恳求的弱小工具。提供了繁复的API,使得与Web主机启动通讯变得十分容易。

官方地址:

摸索这些弱小的工具

地址:

示例代码:失掉网页内容

importrequests#发送GET恳求失掉网页内容response=requests.get("https://www.example.com")#打印照应内容print(response.text)

二、BeautifulSoup-解析和XML

失掉网页内容后,通常须要从HTML或XML文档中提取数据。

BeautifulSoup是一个弱小的HTML和XML解析库,使解析和提取网页数据变得十分便捷。

官方地址:

GitHub地址:

示例代码:提取网页题目

frombs4importBeautifulSoupimportrequests#发送GET恳求失掉网页内容response=requests.get("https://www.example.com")#创立BeautifulSoup对象并解析网页内容soup=BeautifulSoup(response.text,'html.parser')#提取网页题目title=soup.title.stringprint("网页题目:",title)

三、Scrapy-构建爬虫

当须要构建大规模的爬虫名目时,Scrapy是一个十分有用的工具。

它是一个初级的网络爬虫框架,具备弱小的性能和灵敏性,用于构建和治理爬虫名目。

官方地址:

GitHub地址:

示例代码:创立爬虫名目

#创立新的Scrapy名目scrapystartprojectmyproject#创立爬虫cdmyprojectscrapygenspidermyspiderexample.com

四、Selenium-智能化阅读器操作

有些网站是经常使用Script启动内容渲染,这时刻须要模拟用户操作来失掉数据。

Selenium是一个智能化阅读器操作库,用于控制阅读器并口头操作。

官方地址:

GitHub地址:

示例代码:模拟登录

fromseleniumimportwebdriver#创立一个Chrome阅读器实例driver=webdriver.Chrome()#关上登录页面driver.get("https://www.example.com/login")#输入用户名和明码并点击登录按钮username=driver.find_element_by_id("username")pass=driver.find_element_by_id("password")login_button=driver.find_element_by_id("login-button")username.send_keys("your_username")password.send_keys("your_password")login_button.click()#期待登录成功后失掉数据#...#封锁阅读器driver.quit()

五、Scrapy-Selector-数据提取工具

在Scrapy中,Scrapy-Selector是一个用于选用和提取网页内容的工具,它支持XPath和选用器。

GitHub地址:

示例代码:经常使用XPath提取数据

fromscrapy.selectorimportSelector#网页内容html="""<html><body><div><h1>Hello,World!</h1><p>Thisisasampleparagraph.</p></div></body></html>"""#创立Selector对象selector=Selector(text=html)#经常使用XPath提取数据title=selector.xpath("//h1/text()").get()paragraph=selector.xpath("//p/text()").get()print("题目:",title)print("段落:",paragraph)

六、PyQuery-相似于jQuery的解析库

PyQuery是一个相似于jQuery的库,用于解析和操作HTML文档。提供了一种繁复的方式来选用和操作HTML元素。

GitHub地址:

示例代码:选用元素和提取文本

frompyqueryimportPyQueryaspq#网页内容html="""<html><body><div><h1>Hello,World!</h1><p>Thisisasampleparagraph.</p></div></body></html>"""#创立PyQuery对象doc=pq(html)#选用元素并提取文本title=doc('h1').text()paragraph=doc('p').text()print("题目:",title)print("段落:",paragraph)

七、RoboBrowser-智能化阅读器操作

RoboBrowser是一个用于智能化阅读器操作的库,基于BeautifulSoup和requests库。

它可以用于处置Web表单、提交数据和口头登录等义务。

GitHub地址:

示例代码:填写表单并提交

fromrobobrowserimportRoboBrowser#创立RoboBrowser对象browser=RoboBrowser(parser="html.parser")#关上登录页面browser.open("https://www.example.com/login")#查找登录表单form=browser.get_form(action="/login")#填写用户名和明码form['username'].value="your_username"form['password'].value="your_password"#提交表单browser.submit_form(form)#失掉登录后的页面内容#...

八、Requests-HTML-网页解析

Requests-HTML是基于requests库的HTML解析库,准许轻松地从HTML文档中提取数据。支持XPath和CSS选用器,能够以一种便捷的方式启动网页解析。

GitHub地址:

示例代码:经常使用CSS选用器提取数据

fromrequests_htmlimportHTMLSession#创立HTMLSession对象session=HTMLSession()#发送GET恳求失掉网页内容response=session.get("https://www.example.com")#经常使用CSS选用器提取数据title=response.html.find("h1",first=True).textparagraph=response.html.find("p",first=True).textprint("题目:",title)print("段落:",paragraph)

九、MechanicalSoup-智能化阅读器操作

MechanicalSoup是一个用于智能化阅读器操作的库,基于BeautifulSoup和requests库。

它可以用于处置Web表单、提交数据和口头登录等义务。

GitHub地址:

示例代码:模拟登录

importmechanicalsoup#创立Browser对象browser=mechanicalsoup.StatefulBrowser()#关上登录页面browser.open("https://www.example.com/login")#填写用户名和明码browser.select_form()browser["username"]="your_username"browser["password"]="your_password"#提交表单browser.submit_selected()#失掉登录后的页面内容#...

总结

这些库是Python爬虫的有力工具,可以依据你的需求选用和组合经常使用它们。

无论你是想启动便捷的网页内容提取还是构建复杂的网络爬虫,这些库都能满足你的需求。

留意,在启动爬虫优惠时,必定要遵守网站的经常使用政策和法律法规,以确保非法合规。


Python 常用的标准库以及第三方库有哪些

Python常用库大全,看看有没有你需要的。 环境管理管理 Python 版本和环境的工具p – 非常简单的交互式 python 版本管理工具。 pyenv – 简单的 Python 版本管理工具。 Vex – 可以在虚拟环境中执行命令。 virtualenv – 创建独立 Python 环境的工具。 virtualenvwrapper- virtualenv 的一组扩展。 包管理管理包和依赖的工具。 pip – Python 包和依赖关系管理工具。 pip-tools – 保证 Python 包依赖关系更新的一组工具。 conda – 跨平台,Python 二进制包管理工具。 Curdling – 管理 Python 包的命令行工具。 wheel – Python 分发的新标准,意在取代 eggs。 包仓库本地 PyPI 仓库服务和代理。 warehouse – 下一代 PyPI。 Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。 devpi – PyPI 服务和打包/测试/分发工具。 localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。 分发打包为可执行文件以便分发。 PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。 dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。 Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。 py2app – 将 Python 脚本变为独立软件包(Mac OS X)。 py2exe – 将 Python 脚本变为独立软件包(Windows)。 pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。 构建工具将源码编译成软件。 buildout – 一个构建系统,从多个组件来创建,组装和部署应用。 BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。 fabricate – 对任何语言自动找到依赖关系的构建工具。 PlatformIO – 多平台命令行构建工具。 PyBuilder – 纯 Python 实现的持续化构建工具。 SCons – 软件构建工具。 交互式解析器交互式 Python 解析器。 IPython – 功能丰富的工具,非常有效的使用交互式 Python。 bpython- 界面丰富的 Python 解析器。 ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。 文件文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。 imghdr – (Python 标准库)检测图片类型。 mimetypes – (Python 标准库)将文件名映射为 MIME 类型。 – 对 进行封装的模块。 pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。 python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。 Unipath- 用面向对象的方式操作文件和目录watchdog – 管理文件系统事件的 API 和 shell 工具日期和时间操作日期和时间的类库。 arrow- 更好的 Python 日期时间操作类库。 Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。 dateutil – Python datetime 模块的扩展。 delorean- 解决 Python 中有关日期处理的棘手问题的库。 moment – 一个用来处理时间和日期的Python库。 灵感来自于。 PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。 pytz – 现代以及历史版本的世界时区定义。 将时区数据库引入Python。 – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。 文本处理用于解析和操作文本的库。 通用chardet – 字符编码检测器,兼容 Python2 和 Python3。 difflib – (Python 标准库)帮助我们进行差异化比较。 ftfy – 让Unicode文本更完整更连贯。 fuzzywuzzy – 模糊字符串匹配。 Levenshtein – 快速计算编辑距离以及字符串的相似度。 – 在中日韩语字符和数字字母之间添加空格。 pyfiglet -figlet 的 Python实现。 shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。 unidecode – Unicode 文本的 ASCII 转换形式 。 uniout – 打印可读的字符,而不是转义的字符串。 xpinyin – 一个用于把汉字转换为拼音的库。

Python什么爬虫库好用?

aiohttp:是纯粹的异步框架,同时支持HTTP客户端和服务端,可以快速实现异步爬虫,并且其中的aiohttp解决了requests的一个痛点,它可以轻松实现自动转码,对于中文编码就很方便了。 asks:Python自带一个异步的标准库asyncio,但这个库很多人觉得并不好用,而里面的ask则是封装了curio和trio的一个http请求库。 用起来和 Requests 90%相似,新手也可以很快上手。 vibora:号称是现在最快的异步请求框架,跑分是最快的。 写爬虫、写服务器响应都可以用。 但这个项目一直在重构,现在页面上还挂着项目正在重构的警告,使用需谨慎。 Pyppeteer:是异步无头浏览器,从跑分来看比Selenium+webdriver快,使用方式是最接近于浏览器的自身的设计接口的。 它本身是来自 Google维护的puppeteer,但是按照Python社区的梗,作者进行了封装并且把名字中的u改成了y。 下面为大家介绍一下框架:Grab:是很流行的渐进式框架,Grab可以说是爬虫界的渐进式框架,又十分简单的用法,封装的也很好,是基于生成器异步的设计。 botflow:概念很新颖,定位成了处理数据工作流的框架,可以用来爬虫、机器学习、量化交易等等。 ruia:比较接近Scrapy的使用方式,异步设计。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Python爬虫

“摸索这些弱小的工具-Python爬虫罕用库大全 (摸索这些弱小的人)” 的相关文章

掌握10个Python爬虫框架-轻松解锁数据提取之道 (掌握10个满级咒语)

掌握10个Python爬虫框架-轻松解锁数据提取之道 (掌握10个满级咒语)

就像超市里有卖半成品的菜一样,Python爬虫工具也有半成品,就是Python爬虫框架。就是把一些常见的爬虫功能的代码先写好,然后留下一些借口。当我们在做不同的爬虫项目时,根据项目的实际情况,稍...