Https://www.parenting.com/baby-names/boys/earlウェブサイトTOP10の男の子と女の子の名前と関連情報をクロール

次のようにソースコードをクロールすることです。

インポート要求は
BS4をインポート
BS4インポートBeautifulSoupのから
再インポート
のPdとしてインポートパンダ
IOインポート
インポートSYS
sys.stdoutの= io.TextIOWrapper(sys.stdout.buffer、コード= 'GB18030')

=ジアザビシクロとO []

R = requests.get( 'https://www.parenting.com/baby-names/boys/earl')
スープ= BeautifulSoup(r.text、 "lxmlの")
スープ= soup.find_all( ''、HREF = )真
:スープで私のための
    'https://www.parenting.com/pregnancy/baby-names/baby-boy-names/' str内の(I)or'https場合://www.parenting.com/pregnancy / str内の赤ちゃんの名前/女の子の赤ちゃんの名前- /」(I):
        lilist.append(i.get( "HREF"))
lilist1 = []
results1 = []
結果= []
results2 = []

リスト内のI(セット(lilist))のために:
    R = requests.get(I)
    スープ= BeautifulSoup(r.text、 "lxmlの")
   
 
    ソース= soup.find_all( 'P')
    ソース= soup.find_all(ATTRS = { 'クラス': '記述'})
   
    results0 = re.findall( '<H4>(*)</ H4>。?'、R .text)
    results0でC用:
        もしC = '':!
            lilist1.append(C)
    #print(lilist1)
    #lilist1 = []
    パターン= re.compile( '<P>起源の<strong>:。?</ strong>の\ sの(*)</ P>'、re.S)
    結果+ = re.findall(パターン、STR(出所))
      
    PATTERN1 = re.compile( '<P>の<strong>意味:。?</ strong>の\ sの(*)</ P>'、re.S)
    results1 + = re.findall(パターン1、STR(出所))
    パターン2 = re.compile( "<P>の<strong>なぜそれは大きいです:。?</ strong>の\ sの(*)</ P>"、re.S)
    results2 + = re.findall(パターン2、STR(出典))
   

   
プリント(lilist1)
プリント(results1)
プリント(結果)
プリント(results2)
データ= {
    'EnName':lilist1、
    '意味':results1、
    '原産地':結果、
    '説明':results2
}
フレーム= pd.DataFrame(データ)
frame.to_csv( 'wt10.csv'、コード= "GB18030")
#print(results2)
 CSV文件截图。
 
 
 
 

おすすめ

転載: www.cnblogs.com/c1q2s3/p/12078047.html