2016-09-24 3 views
1

저는 Python을 처음 접했으므로 IDE의 오류가별로 의미가 없습니다.Python Beautifulsoup Google 검색

나는 두 개의 텍스트 파일이 있습니다

text2.txt <------- contains list of company names 
text1.txt <------- after executing the program, this should be filled with url 
다음이 스크립트의 목적은 단어와 함께 입력으로 회사의 text2.txt에서 이름 목록, 구글의 이름을 걸릴 것입니다

"보도 자료 ".

python 스크립트는 각 회사 이름에 대해 text1.txt에 1 개의 url을 쓰고 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

'||'유효한 파이썬 구문 아닌 파이썬에서 구글 모듈을 사용할 수 있습니다 여기에 코드입니다. 대신에'or'를 사용하십시오. –

+0

@JF 그 작품! 고맙습니다! 더 이상 오류가 발생하지 않지만 Google 검색에서 아무 것도 출력하지 않습니다. 텍스트 파일에서 입력을 가져 오는 대신 검색 할 값을 하드 코딩하여 시도했지만 작동하지만 파일에서 검색 입력이 작동하지 않습니다. 텍스트 파일에있는 \ n 때문일 수 있습니까? –

+0

분할 할 때 개행을 제거 했으므로 샘플 입력을 일부 추가해야합니다. 또한 왜 당신이 사용하는지 확실하지 않다 –

답변

0

당신은 구글 검색

from google import search 
for url in search(query, stop=10): 
    print url