0

To extract h2 and h3, I wrote this code. However It dosen't work as I expected.

What I want is csv as below.

First URL H2&H3 Second URL H2&H3
■--シロアリ駆除に適用される補助金や保険は?--■ ■--シロアリ駆除は補助金の対象外--■
■└──一般的なシロアリ用保険はない ■└──助成金も使えません
■└──火災保険だと適用される場合がある ■--シロアリ被害に使える保険もほとんどない--■
■--一部の地域では公的な補助金が出る場合がある--■ ■└──住宅の損害やシロアリ被害に関する3つの保険
■└──確定申告【雑損控除】で免税してもらう ■└──火災保険が適用されるのは非常にまれ
■└──シロアリ駆除を確定申告する際の注意点 ■--シロアリ駆除費用を抑えるなら雑損控除--■
■--シロアリ駆除の費用ってどれくらいかかる?--■ ■└──雑損控除を受けるための条件
■└──実際のシロアリ駆除にかかる費用 ■└──申請の方法
■└──施工方法によって金額に差がある ■└──控除額の計算方法

Here's script I wrote and output csv.

import requests
from bs4 import BeautifulSoup as bs
import pandas as pd
from itertools import zip_longest
print("install succeed")

headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.79 Safari/537.36'
}


r01 = requests.get("https://www.seikatsu110.jp/library/vermin/vr_termite/23274/",headers=headers)
r02 = requests.get("https://www.sharing-tech.co.jp/shiroari/news/605523-2/",headers=headers)

first_url_h2 = []
for x in bs(r01.text, 'html.parser').select('h2'):
    first_url_h2.append(x.get_text(strip=True))
    #h2 = second_url_h2.append(x.get_text(strip=True))
    print('■--',x.text,'--■')

    for y in bs(r01.text, 'html.parser').select('h3'):
        first_url_h2.append(y.get_text(strip=True))
        print('■└──',y.text)


second_url_h2 = []
for x in bs(r02.text, 'html.parser').select('h2'):
    second_url_h2.append(x.get_text(strip=True))
    #h2 = second_url_h2.append(x.get_text(strip=True))
    print('■--',x.text,'--■')

    for y in bs(r02.text, 'html.parser').select('h3'):
        second_url_h2.append(y.get_text(strip=True))
        print('■└──',y.text)


df_list = list(zip_longest(first_url_h2, second_url_h2))
df = pd.DataFrame(df_list, columns = ['First URL H2&H3', 'Second URL H2&H3'])
df.to_csv('get_h2s.csv')
print(df)

Current csv output

First URL H2&H3 Second URL H2&H3
シロアリ駆除に適用される補助金や保険は? シロアリ駆除の補助金はないけど費用をグッと抑えられる確定申告の手順
一般的なシロアリ用保険はない 助成金も使えません
火災保険だと適用される場合がある 住宅の損害やシロアリ被害に関する3つの保険
一部の地域では公的な補助金が出る場合がある 火災保険が適用されるのは非常にまれ
確定申告【雑損控除】で免税してもらう 雑損控除を受けるための条件
シロアリ駆除を確定申告する際の注意点 申請の方法
実際のシロアリ駆除にかかる費用 控除額の計算方法
施工方法によって金額に差がある 新築物件の場合
シロアリ駆除の費用を補助金なしで抑える方法 賃貸物件の場合
一般的なシロアリ用保険はない 中古物件の場合
火災保険だと適用される場合がある 記事の編集方針について
一部の地域では公的な補助金が出る場合がある 誰でもシロアリを見分けられるようになる!特徴・違...
確定申告【雑損控除】で免税してもらう 【完全版】自分でシロアリ駆除をプロのように仕上げ...
シロアリ駆除を確定申告する際の注意点 シロアリ予防は自分でできる!依頼するより約【13...
実際のシロアリ駆除にかかる費用 シロアリ駆除は補助金の対象外
施工方法によって金額に差がある 助成金も使えません
シロアリ駆除の費用ってどれくらいかかる? 住宅の損害やシロアリ被害に関する3つの保険
一般的なシロアリ用保険はない 火災保険が適用されるのは非常にまれ
 ・  ・
 ・  ・
 ・  ・
 ・  ・
hafuuu
  • 23
  • 4
  • 1
    You are PRINTING the boxes and lines, but you are not adding them to your DataFrame. If you want them saved in the CSV, then you need to modify the values in the DataFrame. – Tim Roberts Sep 19 '22 at 03:43

0 Answers0