所以我有一个数据检索/输入项目,我想提取网页的某个部分并将其存储在文本文件中。我有一个 url 的文本文件,程序应该为每个 url 提取页面的相同部分。
具体来说,该程序会在诸如此类的页面上复制遵循“法律授权:”的法律法规。如您所见,仅列出了一项法规。但是,一些 url 也看起来像这样,这意味着有多个单独的法规。
我的代码适用于第一类页面:
from sys import argv
from urllib2 import urlopen
script, urlfile, legalfile = argv
input = open(urlfile, "r")
output = open(legalfile, "w")
def get_legal(page):
# this is where Legal Authority: starts in the code
start_link = page.find('Legal Authority:')
start_legal = page.find('">', start_link+1)
end_link = page.find('<', start_legal+1)
legal = page[start_legal+2: end_link]
return legal
for line in input:
pg = urlopen(line).read()
statute = get_legal(pg)
output.write(get_legal(pg))
在“法律文件”输出 .txt 中给我所需的法规名称。但是,它不能复制多个法规名称。我试过这样的事情:
def get_legal(page):
# this is where Legal Authority: starts in the code
end_link = ""
legal = ""
start_link = page.find('Legal Authority:')
while (end_link != '</a> '):
start_legal = page.find('">', start_link+1)
end_link = page.find('<', start_legal+1)
end2 = page.find('</a> ', end_link+1)
legal += page[start_legal+2: end_link]
if
break
return legal
由于每个法规列表都以'</a> '
(检查两个链接中的任何一个的来源)结尾,我想我可以使用该事实(将其作为索引的结尾)循环遍历并在一个字符串中收集所有法规。有任何想法吗?