一个多进程的web抓取应用程序,用于抓取wiki页面并在两个给定wiki页面之间找到最小数量的链接。

wikilink的Python项目详细描述



wikilink是一个多处理的web抓取应用程序,用于抓取wiki页面、提取url并查找两个给定wiki页面之间的最小链接数。

我在my blog中简要讨论了项目的动机和概述。

项目当前处于v0.3.0.post1版本,有关发布历史记录的详细信息,请参见change log

如果你喜欢这个项目,请在这里留下几句感谢的话Say Thanks!

BuildBuild StatusCoverage Status
QualityMaintainabilityRequirements Status
SupportJoin the chatblog
Platformpython versionimplementation

目录

  1. Usage
  2. Contribution
  3. License

用法

使用pip安装

$ pip install wikilink

数据库支持

wikilink目前支持MysqlPostgreSQL

api

setup_db(db, username, password, ip="127.0.0.1", port=3306): set up database

Args:
	db(str): Database engine, currently support "mysql" and "postgresql"
	name(str): database username
	password(str): database password
	ip(str): IP address of database (Default = "127.0.0.1")
	port(str): port that databse is running on (default=3306)

Returns:
	None
min_link(source, destination, limit=6, multiprocessing=False): find minimum number of link from source url to destination url within limit 

Args:
	source(str): source wiki url, i.e. "https://en.wikipedia.org/wiki/Cristiano_Ronaldo"
	destination(str): Destination wiki url, i.e. "https://en.wikipedia.org/wiki/Cristiano_Ronaldo"
	limit(int): max number of links from the source that will be considered (default=6)
	multiprocessing(boolean): enable/disable multiprocessing mode (default=False)

Returns:
	(int) minimum number of sepration between source and destination urls
	return None and print messages if exceeding limits or no path found

Raises:
	DisconnectionError: error connecting to DB

示例

>>> from wikilink import WikiLink
>>> app = WikiLink()
>>> app.setup_db("mysql", "root", "12345", "127.0.0.1", "3306")
>>> source = "https://en.wikipedia.org/wiki/Cristiano_Ronaldo"
>>> destination = "https://en.wikipedia.org/wiki/Lionel_Messi"
>>> app.min_link(source, destination, 6)
1

贡献Open Source Helpers

如何贡献

请遵循我们在contribution instructionscode of conduct的捐款约定。

要设置开发环境,只需运行:

$ pip install -r requirements.txt

请查看issue file以获取需要帮助的问题列表。

欣赏

请随意将您的姓名添加到list of contributors。你将自动进入名人堂,以此表达我对你贡献的感激之情。

名人堂


许可证

请参阅LICENSE文件以了解许可权和限制(apache许可证2.0)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用无循环和乘法的递归调用查找值   java字符串大小冲突   在一组Java文件对象中查找唯一的超级目录   没有Eclipse控制台输出窗口(Java)?   java这怎么等于105而不是15?   java Adempiere列调出,用于不处理从(代码)选项导入和创建行的字段   java tomcat、2个webapps、2个log4js,但这两个应用都记录到一个文件中   lambda理解Java谓词   HotspotFX上的Java EOF问题   java google应用程序引擎:如何向连接/断开通道“ping”添加信息?   java如何使用VTDXML获取一个元素的所有名称空间声明?   java如何使用drawLine()获得一条线以随机方向拍摄?   java transactionManager应该使用哪个SessionFactory?   java在安卓上播放声音   在Mac上使用JBDC对SQL Server进行java Windows身份验证   java基本列表和字符串[]   java NamedParameterJdbcTemplate从中选择*   扩展上的java Android可扩展列表视图   使用ApacheAxis2的java SOAP附件