for循环返回空值

时间:2017-04-22 12:56:47

标签: python for-loop

所以下面的代码工作得很好,就是在某个日期(即2017年4月1日)网页报废报纸,但是当我创建一个日期范围,并在每天循环时我得到空值,在代码下面,然后我把'for loop'

url = 'http://servicios.lanacion.com.ar/archivo-f01/04/2017-c30'
sauce = uReq(url)
soup = bs.BeautifulSoup(sauce,'html.parser')
date = soup.findAll('div',{'class':'titFecha'})
date = str(date)
fecha = '"titFecha">'
date = date[date.find(fecha)+len(fecha):date.find(fecha)+21]
day = date[:2]
month = date[3:5]
year = date[6:12]
print date

filename = 'La Nacion_%s_%s_%s.csv' % (day, month, year)
f = open(filename,'w')
headers = "Date, Title, Encabezado\n"
f.write(headers)

acumulados = soup.findAll('li',{'class':'acumulados'})
for acum in acumulados:
    title =  acum.a['href']
    #     title = title.text
    print title
    encabezado = acum.p
    #     encabezado = encabezado.text
    print encabezado,'\n'
    f.write(str(date) + ',' + str(title).replace(',',' ') + ',' + str(encabezado).replace(',',' ') + '\n')

f.close()

这是循环,可能很容易,但我正在学习,仍然没有看到这些问题,谢谢!

date_range = pd.date_range('2017-04-01',periods=2, freq='d')
date_range = date_range.strftime("%d/%m/%y")
for i in date_range:
    url = 'http://servicios.lanacion.com.ar/archivo-f%r-c30' % i
    sauce = uReq(url)
    soup = bs.BeautifulSoup(sauce,'html.parser')
    date = soup.findAll('div',{'class':'titFecha'})
    date = str(date)
    fecha = '"titFecha">'
    date = date[date.find(fecha)+len(fecha):date.find(fecha)+21]
    day = date[:2]
    month = date[3:5]
    year = date[6:12]
    print date

    filename = 'La Nacion_%s_%s_%s.csv' % (day, month, year)
    f = open(filename,'w')
    headers = "Date, Title, Encabezado\n"
    f.write(headers)

    acumulados = soup.findAll('li',{'class':'acumulados'})
    for acum in acumulados:
        title =  acum.a['href']
        print title
        encabezado = acum.p
        print encabezado,'\n'
        f.write(str(date) + ',' + str(title).replace(',',' ') + ',' + str(encabezado).replace(',',' ') + '\n')
f.close()

1 个答案:

答案 0 :(得分:0)

for循环中i的格式为numpy.string_ not string,您可以在行%r中将%s更改为url,然后更改strftime("%d/%m/%y")如下strftime("%d/%m/%Y")

date_range = pd.date_range('2017-04-01',periods=2, freq='d')
date_range = date_range.strftime("%d/%m/%Y")
for i in date_range:    
    url = 'http://servicios.lanacion.com.ar/archivo-f%s-c30' % i