Я впервые использую Python и BeautifulSoup.Дело в том, что я делаю миграцию всех статей в блоге с одного сайта на другой, и для этого я извлекаю определенную информацию из XML-файла;последняя часть моего кода говорит извлекать только текст между позициями 0 и 164 из мета-тега, чтобы он мог отображаться в поисковой выдаче Google так, как они хотят.
Проблема в том, что некоторые статьиВ блоге есть теги img в первых строках тега, и я хочу удалить их, включая атрибуты src, чтобы код мог захватывать только текст после этих тегов img.
Я пытался решить эту проблему во многихпути, но мне не удалось.
Вот мой код:
from bs4 import BeautifulSoup
from urllib2 import urlopen
import csv
import sys
import re
reload(sys)
sys.setdefaultencoding('utf8')
base_url = ("http://pimacleanpro.com/blog?rss=true")
soup = BeautifulSoup(urlopen(base_url).read(),"xml")
titles = soup("title")
slugs = soup("link")
bodies = soup("description")
with open("blog-data.csv", "w") as f:
fieldnames = ("title", "content", "slug", "seo_title", "seo_description","site_id", "page_path", "category")
output = csv.writer(f, delimiter=",")
output.writerow(fieldnames)
for i in xrange(len(titles)):
output.writerow([titles[i].encode_contents(),bodies[i].encode_contents(formatter=None),slugs[i].get_text(),titles[i].encode_contents(),bodies[i].encode_contents(formatter=None)[4:164]])
print "Done writing file"
любая помощь будет оценена.