Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从多个网页收集格式化内容_Python_Parsing_Web - Fatal编程技术网

Python 从多个网页收集格式化内容

Python 从多个网页收集格式化内容,python,parsing,web,Python,Parsing,Web,我正在做一个研究项目,需要一个节目记录的内容来获取数据。问题是,成绩单是为特定的wiki()格式化的,而我需要它们是机器可读的 下载所有这些成绩单并重新格式化的最佳方式是什么?我的最佳选择是什么?我用python编写了一个脚本,将wiki成绩单的链接作为输入,然后将文本文件中的成绩单的纯文本版本作为输出。我希望这对你的项目有帮助 from pycurl import * import cStringIO import re link = raw_input("Link to transcrip

我正在做一个研究项目,需要一个节目记录的内容来获取数据。问题是,成绩单是为特定的wiki()格式化的,而我需要它们是机器可读的


下载所有这些成绩单并重新格式化的最佳方式是什么?我的最佳选择是什么?

我用python编写了一个脚本,将wiki成绩单的链接作为输入,然后将文本文件中的成绩单的纯文本版本作为输出。我希望这对你的项目有帮助

from pycurl import *
import cStringIO
import re

link = raw_input("Link to transcript: ")
filename = link.split("/")[-1]+".txt"

buf = cStringIO.StringIO()

c = Curl()
c.setopt(c.URL, link)
c.setopt(c.WRITEFUNCTION, buf.write)
c.perform()
html = buf.getvalue()
buf.close()

Speaker = ""
SpeakerPositions = [m.start() for m in re.finditer(':</b>', html)]

file = open(filename, 'w')

for x in range(0, len(SpeakerPositions)):
    if html[SpeakerPositions[x] + 5] != "<":

        searchpos = SpeakerPositions[x] - 1
        char = ""
        while char != ">":
            char = html[searchpos]
            searchpos = searchpos - 1
            if char != ">":
                Speaker += char

        Speaker = Speaker[::-1]
        Speaker += ": "

        searchpos = SpeakerPositions[x] + 5
        char = ""
        while char != "<":
            char = html[searchpos]
            searchpos = searchpos + 1
            if char != "<":
                Speaker += char

        Speaker = Speaker.replace("&#160;", "")
        file.write(Speaker + "\n")
        Speaker = ""

file.close()
从pycurl导入*
导入cStringIO
进口稀土
链接=原始输入(“链接到转录本:”)
filename=link.split(“/”[-1]+.txt”
buf=cStringIO.StringIO()
c=Curl()
c、 setopt(c.URL,链接)
c、 setopt(c.WRITEFUNCTION,buf.write)
c、 执行
html=buf.getvalue()
buf.close()
发言人=“”
SpeakerPositions=[m.start(),用于re.finditer(“:”,html)中的m]
文件=打开(文件名“w”)
对于范围(0,len(扬声器位置))内的x:
如果html[SpeakerPositions[x]+5]!="":
char=html[searchpos]
searchpos=searchpos-1
如果字符!=">":
扬声器+=字符
演讲者=演讲者[:-1]
扬声器+=“:”
searchpos=扬声器位置[x]+5
char=“”

而char!=“没问题!如果你不介意我问的话,你在研究什么?一点也不。我在研究双entendres,而且有很多双entendres。我似乎很难让pycurl在PyCharm中工作。我为此提出了一个新的SO问题。知道发生了什么吗?嗨-我仍然无法使用pycurl。这似乎不太可能。”正在工作。当我输入
link=raw\u输入(“http://arresteddevelopment.wikia.com/wiki/Transcript_of_Pilot)
,我得到的只是
http://arresteddevelopment.wikia.com/wiki/Transcript_of_Pilot
作为输出。