google検索結果をスクレイピングするにあたり
検索ワードの組み合わせを以下のコードにある組合せ以外に数10通り使い結果を収集したいです
複数の検索ワードを読み込ませる部分のコードの組み方についてご教示頂きたくうかがいます
現在作ったコードは以下です
python3
1import requests as web 2import bs4 3import csv 4 5list_keywd = ['金属屋根','修理','神奈川'] 6resp = web.get('https://www.google.co.jp/search?num=100&q=' + ' '.join(list_keywd)) 7resp.raise_for_status() 8 9soup = bs4.BeautifulSoup(resp.text, "html.parser") 10 11link_elem01 = soup.select('.r > a') 12 13link_elem02 = soup.select('.s > .st') 14 15if(len(link_elem02) <= len(link_elem01)): 16 leng = len(link_elem02) 17else: 18 leng = len(link_elem01) 19 20with open('vvv.csv','w',newline='',encoding='utf8') as outcsv: 21 csvwriter = csv.writer(outcsv) 22 csvwriter.writerow(['タイトル・説明','URL']) 23 for i in range(leng): 24 25 url_text = link_elem01[i].get('href').replace('/url?q=','') 26 27 from urllib.parse import urlparse 28 parsed_url = urlparse(url_text) 29 base_url = '{0.scheme}://{0.netloc}/'.format(parsed_url) 30 31 title_text = link_elem01[i].get_text() 32 33 t01 = link_elem02[i].get_text() 34 t02 = t01.replace('\n','') 35 disc_text = t02.replace('\r','') 36 csvwriter.writerow([title_text + disc_text, base_url]) 37 outcsv.close()
回答1件
あなたの回答
tips
プレビュー