B2Bのウェブサイトの企業情報やデータストレージのニーズの生産必要があるため。だから、ロックの目は、企業データ、騒ぎ、オープン乾燥を検索します!
# - * -コーディング-8 - * - インポート要求は lxmlのインポート インポートsysを BS4インポートBeautifulSoupから 輸入xlwt インポート時の インポートurllibは デフクロー(URL、key_wordを、X): USER_AGENT =「のMozilla / 5.0(Windows NTの6.1; Win64の、x64の; RV:56.0)のGecko / 20100101 Firefoxの/ 56.0' #場合のx == 0: #再= 'http://www.qichacha.com/search?key='+key_word #他に: #再=' httpsを:/ /www.qichacha.com/search?key={}#p:{}&'.format(key_word,x-1) 再= r'https://www.qichacha.com/searchキー= '+ key_word? ヘッダは= { 'ホスト': 'www.qichacha.com'、 '接続': 'キープアライブ'、 '承諾':r'text / HTML、* / *。= 0.01' Q、 'X-要求-With-':'のXMLHttpRequest ' ' User--エージェント「:r'Mozilla / 5.0(Windows NTの10.0; WOW64)のAppleWebKit /537.36(KHTML、ヤモリ等)クローム/ 69.0.3497.100サファリ/ 537.36 ' 'リファラー: 'RE ':' GZIP、DEFLATE、BR'、受け入れエンコード' '言語を受け入れ':' CN-ZH、ZH ; Q = 0.9 ' 'クッキー':ここにあなたのcookiexxxxxxxにここにあなたのcookiexxxxxxxxxにここにあなたのcookiexxxxxxxxにr'xxxxxxxxx'、 } 試し: レスポンス= requests.get(URL、ヘッダ=ヘッダ) IFレスポンス= 200は.status_code :!ある response.encoding = 'UTF-8' 印刷(response.status_code) 印刷( 'ERROR') ) スープ= BeautifulSoup(response.text、 'lxmlの') の例外を除いて: 印刷( '要求をしない、この半分の警備員が何を見ることです???') 試してみてください。 com_all_info = soup.find_all(クラス_ = 'm_srchList')[0] .tbody com_all_info_array = com_all_info .Select( 'TR') 印刷( 'Excelを開いていない、データをクロールを開始') :範囲(0、LEN(com_all_info_array))におけるIのために #してみてください。 temp_g_name = com_all_info_array [I] .Select( 'TD') [2] .select(」。ma_h1 #の.text ')[0] 取得企業名 temp_g_tag = com_all_info_array [I] .select( 'TD')[2] .select('。タグを検索)[0]。 買収会社のラベルテキスト# temp_r_name = com_all_info_array [i]は.select( 'TD')[2] .select( 'p'は)[0]#は.a.text 法的名前を取得しました temp_g_money = com_all_info_array [I] .select( 'TD')[2] .select( 'P')[0] .select( 'スパン')[0] .text.strip( ' 登録資本金:')を得る登録#資本 temp_g_date = com_all_info_array [I] .select( 'TD')[2] .select( 'P')[0] .select( 'スパン')[1] .text.strip( ' 設立:')#取得会社が登録 temp_r_email = com_all_info_array [I] .select( 'TD')[2] .select( 'P')[1] .text.split( 'の\ n')[1] .strip()。ストリップ( ' Eメール: ')#メールで合法的に取得 temp_r_phone = com_all_info_array [I] .Select(' TD ')[2] .Select(' P '[1]).Select(' M-L「)[0]の.text ..ストリップ( '電話番号:')法的取得#電話番号 temp_g_addr = com_all_info_array [I] .select( 'TD')[2] .select( 'P')[2] .text.strip()ストリップ( ' アドレス: ")#ゲット住所 temp_g_state = com_all_info_array [I] .select( 'TD')[3] .select(」。nstatus.text成功-lt.ml-XS')[0] .text.strip()# ステータス取得 グローバルg_date_list g_name_list.append(temp_g_name) g_tag_list.append(temp_g_tag) r_name_listを。追加(temp_r_name) g_money_list.append(temp_g_money) g_date_list.append(temp_g_date) r_email_list.append(temp_r_email) r_phone_list.append(temp_r_phone) g_addr_list.append(temp_g_addr) g_state_list.append(temp_g_state) 例外を除いて#: #印刷( '错误!') の例外を除い: プリント( '好像被拒绝访问了呢...请稍后再试叭... ') であれば__name__ == '__main__': グローバルg_name_list グローバルg_tag_list グローバルr_name_list グローバルg_money_list グローバルr_email_list グローバルr_phone_list グローバルg_addr_list グローバルg_state_listの g_name_list = [] = g_tag_list [] r_name_list = [] g_money_list = [] g_date_list = [] r_email_list = [] r_phone_list = [] g_addr_list = [] g_state_list = [] key_word INPUT =( '検索したいキーワードを入力してください:') NUM = INT(入力(「検索したい番号を入力してください:」))+ 1 SLEEP_TIME = INT(入力(「各検索の間の遅延の秒数を入力してください:」)) key_word = urllib.parse.quote(key_word) を印刷( '検索、お待ちください') :範囲-でX(1、NUM)用の URL = r'https:?。//www.qichacha.com/search_indexキー= {} = 1&p型ajaxflag&= {}&「形式(key_word、X-) S1 =クロー(URL、key_word、X-) time.sleep(SLEEP_TIME) ワークブック= xlwt.Workbook() #は、シートオブジェクトを作成し、新しいシート シート1 = workbook.add_sheet( '法人検索アップデータ'、cell_overwrite_ok = TRUE) #スタイルを得意--- ---セット #初期化スタイル スタイル= xlwt.XFStyle() #フォントスタイルの作成 フォント= xlwtを.font() font.name = 'Arialの' #。Font.Bold太字= Trueの#の #はフォント設定 style.font =フォント スタイル書き込みデータ使用して#を 印刷する( 'データが格納されている、Excelを開いていない') シートへ#書き込みデータ NAME_LIST = [「会社名」、「会社のラベル」、「法定法人」、「登録資本」、「日設立の」、「企業の電子メール」、「企業の電話」、「住所」、」会社のステータス「] の範囲でCC(0、LEN(NAME_LIST))について: sheet1.write(0、CC、NAME_LIST [CC]、スタイル) 範囲(0、LEN(g_name_list))におけるIのために: プリント(g_name_list [i])と sheet1.write(私はg_name_list、1,0 + [ I]、スタイル)#の会社名 sheet1.write(私はg_tag_list、1,1 + [ I]、スタイル)#関連会社のラベル sheet1.write(私は、1,2 + r_name_list [i]は、スタイル)#法定法人 sheet1.write(私はg_money_list、1,3 + [ I]、スタイル)# 登録資本 sheet1.write(私はg_date_list [、1,4 + i]を、スタイル)#の設立の日 sheet1.write(私はr_email_list [、1,5 + #i]を、スタイル) 企業のメールボックス sheet1.write(私はr_phone_list、1,6 + [ I]、スタイル)#の電話会社の sheet1.write(私は、1,7 + g_addr_list [i]は、スタイル)#アドレス sheet1.write(私は+ 1,8、g_state_list [ i]は、スタイル)#の会社の状態 #がカバーに直接、同じ名前で保存されたExcelファイル workbook.save(R「Dの:\ wyy -qcc - 。 "time.strftime +(" M - %%% Y-H-D - %%% M-S "time.localtime())+" XLS「) を印刷( '〜保存されています')