首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建制造MLA引用的脚本?

如何创建制造MLA引用的脚本?
EN

Stack Overflow用户
提问于 2009-11-28 03:46:22
回答 2查看 1.1K关注 0票数 1

我有一个文件夹,里面全是微软的.URL文件。我想把它们翻译成我论文的MLA引用列表。

这是一个很好的Python应用吗?如何获取页面标题?我使用的是装有Python 3.1.1的Windows XP。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-28 04:18:26

这是Python的一个奇妙的用途!.URL文件格式的语法如下:

代码语言:javascript
复制
[InternetShortcut]
URL=http://www.example.com/
OtherStuff=irrelevant

要解析您的.URL文件,请从ConfigParser开始,它将读取此内容并创建一个InternetShortcut部分,您可以从中读取该URL。一旦有了URL列表,就可以使用urlliburllib2加载URL,并使用愚蠢的正则表达式来获取页面标题(或者像Alex建议的那样使用BeautifulSoup )。

一旦你有了它,你就有了一个URL列表和页面titles...not,足以获得一个完整的MLA引用,但应该足以让你入门了,不是吗?

类似这样的代码(非常粗糙,在SO窗口中编码):

代码语言:javascript
复制
from glob import glob
from urllib2 import urlopen
from ConfigParser import ConfigParser
from re import search

# I use RE here, you might consider BeautifulSoup because RE can be stupid
TITLE = r"<title>([^<]+)</title>"

result = []
for file in glob("*.url"):
    config = ConfigParser.ConfigParser()
    config.read(file)
    url = config.get("InternetShortcut", "URL")

    # Get the title
    page = urlopen(url).read()
    try: title = search(TITLE, page).groups()[0]
    except: title = "Couldn't find title"

    result.append((url, title))

for url, title in result:
    print "'%s' <%s>" % (title, url)
票数 3
EN

Stack Overflow用户

发布于 2009-11-28 04:12:51

给定一个包含HTML页面的文件,您可以对其进行解析以提取其标题,BeautifulSoup是该作业推荐的第三方库。获取与Python3.1 here兼容的BeautifulSoup版本,安装它,然后:

  • 将每个文件的内容解析为一个soup对象,例如:

从BeautifulSoup导入open('thefile.html','r').read() BeautifulSoup = BeautifulSoup(html)

  • get title标记(如果有),并打印其字符串内容(如果有):

title = soup.find(' title ')如果title为None: print('No title!')否则: print('Title:‘+ title.string)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1810405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档