2016-09-24 11 views
1

私はPythonをかなり新しくしているので、IDEのエラーはあまり意味がありません。Python Beautifulsoup Googleを検索する

私は2つのテキストファイルがあります。

text2.txt <------- contains list of company names 
text1.txt <------- after executing the program, this should be filled with url 

以下、このスクリプトの目的は「言葉と一緒にプレスリリースを、会社の名前を入力としてtext2.txtから名前のリストを取り、Googleのことですが"

pythonスクリプトは、企業名ごとに1つのurlをtext1.txtに書き込むだけで、urlには "press"または "release"という単語を含める必要があります。

このスクリプトの目的は、各企業名のプレスリリースURLを見つけることです。

"||"を使用する構文が無効ですif文を削除しても、GoogleからのURLが見つからないか、配列で書かれていません。誰かが私が間違っていることを提案することはできますか?ここでは、コードは次のようになります。

import requests 
from bs4 import BeautifulSoup 


lines = open("test2.txt").read().splitlines() 
links = [] 

for line in lines: 
    r = requests.get('https://www.google.com/search?q={}&gbv=1&sei=YwHNVpHLOYiWmQHk3K24Cw'.format((line + " press release").replace(" ", "+"))) 
    soup = BeautifulSoup(r.text, "html.parser") 
    for item in soup.find_all('h3', attrs={'class': 'r'}): 
     i = (item.a['href'][7:]).find("release") 
     b = (item.a['href'][7:]).find("press") 
     if (i != -1 || b != -1): 
      links.append(item) 
      break; 

f = open("test.txt","w") 

for item in links: 
    f.write("%s\n" % item) 

f.close() 
+0

のためにpythonでGoogleのモジュールを使用することができます '' ||有効なPythonの構文されていません。代わりに 'または'を使用してください。 –

+0

@JFが動作します!ありがとうございました!もはやそのエラーを取得していませんが、何らかの理由でGoogle検索で何も出力されません。テキストファイルからの入力を取得するのではなく、値をハードコーディングして試してみましたが、それはうまく動作しますが、ファイルから検索への入力がうまくいきません。それはテキストファイルにある\ nのためかもしれませんか? –

+0

分割時に改行を削除しました。サンプル入力を追加する必要があります。なぜあなたがなぜ使用しているかわからない –

答えて

0

Google検索

from google import search 
for url in search(query, stop=10): 
    print url 
関連する問題