import requests
from bs4 import BeautifulSoup
import os, re
import sys, traceback
#это тхт файл со списками линков на все посты жж
#он имеет вид:
#November 15th, 2006 - Волков Сергей Владимирович
#(no subject)
#http://salery.livejournal.com/339.html
#November 19th, 2006 - Волков Сергей Владимирович
#Впечатления от комментариев
#http://salery.livejournal.com/767.html и т.д. до конца жж
LINKS = 'C:\\Users\\...\\Desktop\\to.txt'
def main():
f = open(LINKS, 'r')
for i in f:
try:
match = re.match('http', i)
if match:
r = requests.get(i, 'html.parser')
soup = BeautifulSoup(r.content, 'html.parser')
t = (soup.find('td', colspan='2').text)
print(t, '\n', i)
input()
else:
pass
except ValueError:
print(traceback.format_exception(*sys.exc_info())[1])
input()
input()
вот что выдает консоль: первые два поста из файла тхт парсятся норм, 5-й тоже; на 3,4 посты и далее до конца выдается текст:
File "C:\Users....\Desktop\Volkov\posts.py", line 22, in main
print(t, '\n', i)
Вопросы:
1. как прикрепить тхт файл для желающих проверить в чем дело?
2. в чем ошибка?
3. могу послать тхт по мылу
4. я словил ошибку:
http://salery.livejournal.com/947.html
Error: 'charmap' codec can't encode character '\u2026' in position 54: character maps to undefined

r.content, подставьтеopen('input.html', 'rb').read()). Затем удалите из него половину, проверьте что ошибку осталась. Если ошибка исчезла, то удалите другую половину. Проверьте наличие ошибки. Повторяйте до тех пор, пока у вас не останется небольшой кусок html, который позволяет вам ошибку воспроизвести. Вставьте этот небольшой кусок html прямо в ваш код (вместо open().read()) – jfs Mar 29 '17 at 01:58input.htmlэто локальный файл куда вы сохранилиr.content, который ломает ваш код. – jfs Mar 29 '17 at 02:18input() – Mintaj Mar 29 '17 at 02:38