inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

N번째 태그만 선택하기

도무지 안 되네요..ㅠㅠ

247

서영화

작성한 질문수 1

1

import requests
from bs4 import BeautifulSoup
import pyautogui
import pyautogui as pg

header = {'User-agent': 'Mozilla/2.0'}
seoData = pyautogui.prompt('검색어를 입력해라')

response = requests.get(f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query= {seoData}", headers=header)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
articles = soup.select("div.info_group") #뉴스 기사 div 10개 추출

#print(articles[0].attrs('href'))

for article in articles:
    links = article.select("a.info")   #리스트
    if len(links) >= 2: #링크가 2개 이상이면
       url = links[1].attrs('href') #두번째 링크의 href 추출
       print(url)
 
코드를 이렇게 짰는데요.. 강의와 같이 한 것 같은데 실행하면
 
Traceback (most recent call last): File "c:\Users\movie\OneDrive\pythonStudy\startCoding\셀레니움\네이버연습\삼성전자네이버뉴스.py", line 19, in <module> url = links[1].attrs('href') #두번째 링크의 href 추출 TypeError: 'dict' object is not callable
 
 
이런 에러가 나오면서 url을 제대로 읽어오지 못합니다.
코드에 문제가 없는 것 같은데 해결 방법이 있을까요?ㅜㅜ
 

python 웹-크롤링

답변 1

1

서영화

셀프 해결했습니다..;; ('href') --> ['href'] 로 괄호 모양 오타가 있었네요..;;; 아무리 찾아도 안 보이더니 ㅠㅠ 

0

스타트코딩

앗 댓글을 못보고

저도 계속 찾아보고 있었네요ㅋㅋㅋ

url = links[1].attrs('href') -> ['href']

셀레니움 환경설정 오류

0

80

2

네이버 로그인 관련

0

368

2

안녕하세요 셀레니움에 대해서 질문

0

104

1

크롤링 연습사이트 문의

0

122

2

선택자 질문

0

89

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

90

2

자동 로그인 질문

0

107

2

44강 제목, 링크

0

115

1

원하는 값이 없을 때

0

106

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

252

2

셀레니움 PDF자료는 받을 수 있나요

0

108

2

글목록 추출하기

0

111

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

100

2

강의 노트가 어디에 있는건가요?

0

82

2

강의 커리큘럼 질문

0

112

1

조건문 else 사용하지 않는 이유

0

84

2

셀레니움으로 접근할 수 없는 경우

0

109

2

웹페이지 변경

0

82

2

자바스크립트로 태그 선택 시 질문입니다.

1

72

2

수료증은 어떻게 받나요?

0

129

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

67

2

드라이버가 안 열려요

0

90

2

이거 해결방법 아시는 분?

0

124

2

네이버 지식인 크롤링..

0

217

2