400-160-5808 全国统一学习专线 8:00-21:00

位置:天才教育网 > 学校资讯 > 电脑培训

终于懂得python网络爬虫的工具

日期:2019-08-25 09:52:30     浏览:128    
核心提示:爬虫可以抓取网络上的数据,爬虫可用很多种编程语言实现,python只是一种,下面是小编为您整理的关于python网络爬虫的工具,希望对你有所帮助。 Python网络爬虫的工具列表 通用: urllib-网络库(stdlib)。

爬虫可以抓取网络上的数据,爬虫可用很多种编程语言实现,python只是一种,下面是小编为您整理的关于python网络爬虫的工具,希望对你有所帮助。

python网络爬虫的工具

 

Python网络爬虫的工具列表  

通用:  

urllib -网络库(stdlib)。  

requests -网络库。  

grab – 网络库(基于pycurl)。  

pycurl – 网络库(绑定libcurl)。  

urllib3 – Python HTTP库,安全连接池、支持文件post、可用性高。  

httplib2 – 网络库。  

RoboBrowser – 一个简单的、极具Python风格的Python库,无需独立的浏览器即可浏览网页。  

MechanicalSoup -一个与网站自动交互Python库。  

mechanize -有状态、可编程的Web浏览库。  

socket – 底层网络接口(stdlib)。  

Unirest for Python – Unirest是一套可用于多种语言的轻量级的HTTP库。  

hyper – Python的HTTP/2客户端。  

PySocks – SocksiPy更新并积极维护的版本,包括错误修复和一些其他的特征。作为socket模块的直接替换。  

异步:  

treq – 类似于requests的API(基于twisted)。  

aiohttp – asyncio的HTTP客户端/服务器(PEP-3156)。  

网络爬虫框架  

功能齐全的爬虫  

grab – 网络爬虫框架(基于pycurl/multicur)。  

scrapy – 网络爬虫框架(基于twisted),不支持Python3。  

pyspider – 一个强大的爬虫系统。  

cola – 一个分布式爬虫框架。  

其他  

portia – 基于Scrapy的可视化爬虫。  

restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。  

demiurge – 基于PyQuery的爬虫微框架。  

HTML/XML解析器  

通用  

lxml – C语言编写高效HTML/ XML处理库。支持XPath。  

cssselect – 解析DOM树和CSS选择器。  

pyquery – 解析DOM树和jQuery选择器。  

BeautifulSoup – 低效HTML/ XML处理库,纯Python实现。  

html5lib – 根据WHATWG规范生成HTML/ XML文档的DOM。该规范被用在现在所有的浏览器上。  

feedparser – 解析RSS/ATOM feeds。  

MarkupSafe – 为XML/HTML/XHTML提供了安全转义的字符串。  

xmltodict – 一个可以让你在处理XML时感觉像在处理JSON一样的Python模块。  

xhtml2pdf – 将HTML/CSS转换为PDF。  

untangle – 轻松实现将XML文件转换为Python对象。  

清理  

Bleach – 清理HTML(需要html5lib)。  

sanitize – 为混乱的数据世界带来清明。  

文本处理  

用于解析和操作简单文本的库。  

通用  

difflib – (Python标准库)帮助进行差异化比较。  

Levenshtein – 快速计算Levenshtein距离和字符串相似度。  

fuzzywuzzy – 模糊字符串匹配。  

esmre – 正则表达式加速器。  

ftfy – 自动整理Unicode文本,减少碎片化。  

转换  

unidecode – 将Unicode文本转为ASCII。  

字符编码  

uniout – 打印可读字符,而不是被转义的字符串。  

chardet – 兼容 Python的2/3的字符编码器。  

xpinyin – 一个将中国汉字转为拼音的库。  

pangu.py – 格式化文本中CJK和字母数字的间距。  

Slug化  

awesome-slugify – 一个可以保留unicode的Python slugify库。  

python-slugify – 一个可以将Unicode转为ASCII的Python slugify库。  

unicode-slugify – 一个可以将生成Unicode slugs的工具。  

pytils – 处理俄语字符串的简单工具(包括pytils.translit.slugify)。  

通用解析器  

PLY – lex和yacc解析工具的Python实现。  

pyparsing – 一个通用框架的生成语法分析器。  

人的名字  

python-nameparser -解析人的名字的组件。  

电话号码  

phonenumbers -解析,格式化,存储和验证国际电话号码。  

用户代理字符串  

python-user-agents – 浏览器用户代理的解析器。  

HTTP Agent Parser – Python的HTTP代理分析器。  

网页内容提取  

提取网页内容的库。  

HTML页面的文本和元数据  

newspaper – 用Python进行新闻提取、文章提取和内容策展。  

html2text – 将HTML转为Markdown格式文本。  

python-goose – HTML内容/文章提取器。  

lassie – 人性化的网页内容检索工具  

micawber – 一个从网址中提取丰富内容的小库。  

sumy -一个自动汇总文本文件和HTML网页的模块  

Haul – 一个可扩展的图像爬虫。  

python-readability – arc90 readability工具的快速Python接口。  

scrapely – 从HTML网页中提取结构化数据的库。给出了一些Web页面和数据提取的示例,scrapely为所有类似的网页构建一个分析器。  

视频  

youtube-dl – 一个从YouTube下载视频的小命令行程序。  

you-get – Python3的YouTube、优酷/ Niconico视频下载器。  

维基  

WikiTeam – 下载和保存wikis的工具。  

Python爬虫开源软件工具  

(1)QuickRecon  

QuickRecon是一个简单的信息收集工具,它可以帮助你查找子域名名称、perform zone transfe、收集电子邮件地址和使用microformats寻找人际关系等。

 

QuickRecon使用python编写,支持linux和 windows操作系统。  

授权协议: GPLv3  

开发语言: Python  

操作系统: Windows Linux  

特点:具有查找子域名名称、收集电子邮件地址并寻找人际关系等功能  

(2)PyRailgun  

这是一个非常简单易用的抓取工具。支持抓取javascript渲染的页面的简单实用高效的python网页爬虫抓取模块  

授权协议: MIT  

开发语言: Python  

操作系统: 跨平台 Windows Linux OS X  

特点:简洁、轻量、高效的网页抓取框架  

备注:此软件也是由国人开放  

(3)Scrapy  

Scrapy 是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便~  

授权协议: BSD  

开发语言: Python  

操作系统: 跨平台  

如何在Python利用runJavaScript模拟鼠标移动页面的某个元素  

之前看到一个回答是因为selenium框架被前段检测了,然后用PyQt5制作浏览器去实现爬虫,我现在也遇到了同样的问题,但是问题是在我不知道如何用Js的语句去模拟鼠标移动某个元素。  

代码:  

from PyQt5.QtWidgets import QApplication  

from PyQt5.QtWebEngineWidgets import QWebEngineView  

from PyQt5.QtCore import QUrl  

import pyautogui  

import time  

import sys  

app = QApplication([])  

view = QWebEngineView()  

view.load(QUrl("url"))  

view.show()  

page = view.page()  

#a = 0  

#global a  

def test():  

page.runJavaScript("$('#account').val(123)")  

page.runJavaScript("$('#password').val(123)")  

page.runJavaScript("$('#btn-login').trigger('click')")  

time.sleep(1)  

# page.runJavaScript("alert($('#distance').html())")  

page.runJavaScript("$('.smallImg').trigger('click')")  

#view.loadFinished.connect(test)  

app.exec_()  

就是需要移动一个class名为smallImg的元素, 上面的输入和点击登录都完成了,现在卡在移动那块。  

具体的移动需要:  

鼠标移动到smallImg这个元素的坐标,点击并水平拖动一定的距离,然后释放。具体的移动距离可以先不考虑识别图片,我可以获取到需要移动的距离。  

 
同类学校资讯

温馨提示:提交留言后老师会第一时间与您联系!热线电话: 400-160-5808

手机访问