我對使用python解析HTML標記有疑問。 我的代碼如下所示:解析HTML,寫入文件
#!/usr/bin/python
# -*- coding: utf-8 -*-
from lxml import html
import requests
import urllib2
import sys
import re
import time
import urllib
import datetime
def get_web():
try:
input_sat = open('rtc.xml','w')
godina = datetime.date.today().strftime("%Y")
print godina
mjesec = datetime.date.today().strftime("%m")
print mjesec
for x in range (32):
if x < 1:
x = x + 1
var = x
url = 'http://www.rts.rs/page/tv/sr/broadcast/20/RTS+1.html?month={}&year={}&day={}&type=0'.format(mjesec, godina, var)
page = requests.get(url)
tree = html.fromstring(page.text)
a = tree.xpath('//div[@id="center"]/h1/text()') # datum
b = tree.xpath('//div[@class="ProgramTime"]/text()') # time
c = tree.xpath('//div[@class="ProgramName"]/text()')
e = tree.xpath('//div[@class="ProgramName"]/a[@class="recnik"]/text()')
for line in zip(a,b,c,e):
var = line[0]
print >> input_sat, line+'\n'
except:
pass
get_web()
該腳本工作正常,並從URL中獲取標籤,但我怎麼能寫他們到了處理的文件? 當我用for
循環運行我的代碼時,它不起作用。我不知道問題出在哪裏。
我重寫了我的代碼,它不會將頁面上的內容輸出到文件中。
這是您的整個代碼?我試着運行它,得到了'NameError:全局名'logging'未定義'。 – Kevin
查看python文件I/O例如http://www.tutorialspoint.com/python/python_files_io.htm(第二擊在谷歌)...你只需要打開文件,寫你想要的,然後關閉。 –
我現在重寫了我的代碼,問題在URL中的sercont標記的FOR循環中,它不會寫入文件中。 –