Python Web-Scrape Loop через список URL-адресов CSV? - PullRequest
1 голос
/ 18 сентября 2009

Привет, у меня есть список из 10 веб-сайтов в CSV. Все сайты имеют одинаковый общий формат, включая большую таблицу. Я только хочу данные в 7-х столбцах. Я могу извлечь HTML и фильтровать данные 7-го столбца (через RegEx) на индивидуальной основе, но я не могу понять, как пройти через CSV. Я думаю, что я близко, но мой сценарий не будет работать. Я был бы очень признателен, если бы кто-нибудь помог мне разобраться, как это сделать. Вот что у меня есть:

#Python v2.6.2

import csv 
import urllib2
import re

urls = csv.reader(open('list.csv'))
n =0
while n <=10:
    for url in urls:
        response = urllib2.urlopen(url[n])
        html = response.read()
        print re.findall('td7.*?td',html)
        n +=1

1 Ответ

2 голосов
/ 18 сентября 2009

Когда я скопировал вашу процедуру, я получил ошибку пробела / табуляции. Проверьте свои вкладки. Вы неправильно проиндексировали строку URL, используя счетчик циклов. Это также испортило бы вас.

Кроме того, вам не нужно контролировать цикл с помощью счетчика. Это зациклится для каждой записи строки в вашем файле CSV.

#Python v2.6.2

import csv 
import urllib2
import re

urls = csv.reader(open('list.csv'))
for url in urls:
    response = urllib2.urlopen(url[0])
    html = response.read()
    print re.findall('td7.*?td',html)

Наконец, убедитесь, что ваши URL правильно сформированы:

http://www.cnn.com
http://www.fark.com
http://www.cbc.ca
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...