質問: csv.writer(csvfile, lineterminator='\n') writer.writerow([str(elem).replace("","").replace("","") for elem in elems]) writer.writerow([str(elem).replace("","").replace("","") for elem in elems]) writer.writerow([str(elem).replace("","").replace("","") for elem in elems]) ``` 大変恐れ入りますが、どうぞよろしくお願いいたします。
回答: h2,h3,h4が階層構造になっているので、ソースに表現するのに混乱が見られるようです。 以下のソースを参考に処理を見直してください。 ``` import requests import bs4 res = requests.get('https://www.birdfan.net/gallery/library/sanya_mijika.html#01') res.encoding = res.apparent_encoding soup = bs4.BeautifulSoup(res.text, "html.parser") section = soup.find(id='contents').find(class_='section') is_in = False for tag in section: if tag.name == 'h2': h2 = tag if tag.name == 'h3': h3 = tag if tag.name == 'h4': h4 = tag is_in = True if is_in and tag.name == 'p': # h4の後のp print('-----') print('h2',h2.text) print('h3',h3.text) print('h4',h4.text) print('p', tag.text) print(tag.a['href']) is_in = False """h2 フォトギャラリー野鳥図鑑(身近な鳥) h3 身近な鳥(スズメ大) h4 スズメ p スズメ目ハタオリドリ科 全長:14.5cm 翼開長:22.5cm 人家付近でのみ見られる。ほおに黒い斑(幼鳥ではうすい)。 スズメについて詳しくはこちらをご参照ください /pg/kind/ord17/fam1727/spe172702/h2 フォトギャラリー野鳥図鑑(身近な鳥) h3 身近な鳥(スズメ大) h4 シジュウカラ p スズメ目シジュウカラ科 全長:14cm 白いほお、胸から腹にネクタイ模様(太い方が雄)。 シジュウカラについて詳しくはこちらをご参照ください /pg/kind/ord17/fam1718/spe171805/ : """ ```