안녕하세요. 강사님 아래 코드에서 '블랙핑크' 를 검색할 때 Traceback (most recent call last): File "c:\pratice_crolling\심화1_\03_스포츠 뉴스 크롤링.py ", line 52, in <module> print(article_title.text.strip()) ^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'text' 다음과 같은 오류가 뜹니다 ㅠㅠ CSS 선택자, 오타도 모두 맞게 확인이 되는데 왜 저 검색어만 오류가 뜰까요ㅠㅠ? # -*- coding: euc-kr -*- # 네이버에서 손흥민, 오승환과 같은 스포츠 관련 검색어 크롤링하기 import requests from bs4 import BeautifulSoup import pyautogui import time search = pyautogui.prompt("어떤 것을 검색하시겠어요?") response = requests.get(f"https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query={search}&oquery=%EC%98%B7%EC%9C%BC%ED%99%98&tqi=i74G%2FdprvTossZPeMhCssssssko-058644") html = response.text soup = BeautifulSoup(html, "html.parser") articles = soup.select(".info_group") for article in articles: # '네이버뉴스' 가 있는 기사만 추출한다. (<a> 하이퍼링크가 2개 이상인 경우에 해당) links = article.select("a.info") if len(links) >=2 : url = links[1].attrs['href'] response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, "html.parser") # 스포츠 기사인 경우 if "sports" in url: article_title = soup.select_one("h4.title") article_body = soup.select_one("#newsEndContents") # 본문 내에 불필요한 내용 제거 p태그와 div태그의 내용은 출력할 필요가 없다. 없애주자. p_tags = article_body.select("p") # 본문에서 p 태그인 것들을 추출 for p_tag in p_tags: p_tag.decompose() div_tags = article_body.select("div") # 본문에서 div 태그인 것들을 추출 for div_tag in div_tags: div_tag.decompose() # 연예 기사인 경우 elif "entertain" in url: article_title = soup.select_one(".end_tit") article_body = soup.select_one("#articeBody") # 일반 뉴스 기사인 경우 else: article_title = soup.select_one("#title_area") article_body = soup.select_one("#dic_area") # 출력문 print("==================================================== 주소 ===========================================================") print(url.strip()) print("==================================================== 제목 ===========================================================") print(article_title.text.strip()) print("==================================================== 본문 ===========================================================") print(article_body.text.strip()) #strip 함수는 앞 뒤의 공백을 제거한다. time.sleep(0.3)
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
review_write_page에서 ReviewBox 부분에 리뷰를 작성후 textfield에서 focus out이 되었을때 작성한 리뷰 text가 안보이는 현상이 있습니다. text가 사라지고 저장을 하게 되면 DB에는 데이터가 제대로 들어갑니다. 혹시 이부분은 어디를 수정해야 될까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
동일하게 restaurant_repository에서 @Headers 를 통해 'accessToken' : 'true' 라는 map을 헤더에 넣어주었음에도 dio.dart에서는 해당 onRequest에서 header가 빈 map으로 나오는 현상이 발생합니다. url과 GET 요청이라는 정보는 제대로 들어갑니다. 혹시 무슨 문제인지 알고 계신가요?
void main() { int total = 0; for (int i = 0; i < 10; i++) { total += 1; if (total == 5) { break; } } print(total); } ->5 여기서 0이였던 i 값이 1(i++)이되고 total 은 1이 되며(total+=1) 또 반복으로 i 값이 2가되고 total 은 2가 되고 쭉 반복되어 total 이 5가되었을때 나와서 출력된거맞나요?
안녕하세요 강의 잘 듣고있습니다. 컬렉션 List<data type> 변수 = ['지수', '제니']; Map <key:value> 변수 = { 'key' : 'value'}; Set<data type> 변수 ' { ........}; enum Status {..} List 만 [] 대괄호 나머지는 {}중괄호를 쓰는 이유가 뭔가요 그냥 공식일까요? 그리고 enum Status { approved, pending, rejected } void main() { Status status = Status.approved; print(status); } 이 예제에서 Status는 키워드 인가요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요? 강좌 섹션5 > 레스토랑상세페이지 구현단계에서 build 의 FutureBuilder 의 builder 에서 아래와 같이 구현 되어있는데 builder: (context, AsyncSnapshot<Map<String, dynamic>> snapshot) { 아래와 같이 AsyncSnapshot<Map<String, dynamic>> 를 제거후 syntax error 따라다니면서 반환타입을 바꾸니 문제 없던데요.. builder: (context, snapshot) { flutter 가 업그레이드 되면서 type safe 된거 같기도 한데 AsyncSnapshot<Map<String, dynamic>> 부분이 이해가 잘 안가는데요 부연 설명 가능할까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 강사님. 다름이 아니라 아래 코드가 적용되지 않아서 글 남깁니다. Image.asset( 'asset/img/misc/logo.png', width: MediaQuery.of(context).size.width * (2 / 3), ), width에 그 어떠한 값을 넣어봐도 로고 크기가 변하지 않았습니다. 이에 아래 코드와 같이 width가 아닌 height 값을 지정해 보니 드디어 로고 크기가 변하기 시작하더군요. Image.asset( 'asset/img/misc/logo.png', height: 100, ), 왜 width에 값을 넣었을 때는 로고 크기가 변하지 않았고, height에 값을 넣었을 때만 로고 크기가 변했는지 그 이유가 궁금합니다.
질문은 아니고 해결 방법 공유 드립니다. build_script_generate/bootstrap.dart:76:40: Error: Method not found: 'NullThrownError'. final error = e[0] as Object? ?? NullThrownError(); 위 에러가 발생하는 경우 https://pub.dev/ 에서 사용하는 라이브러리들을 검색해서 버전들을 최신으로 맞춰주시면 됩니다. 발생 원인은 NullThrownError 가 Dart 2.14 이후에 제거되었는데 예전 버전들에서 저 메서드를 사용하려고 하니 발생하는 것이 아닐까 싶습니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
[ ...TABS, ...TSBS, ...TSBS].map(~) 여기에서 ...TABS의 의미가 무엇인지 궁금합니다! 그냥 TABS로 적으면 e가 List type의 TABS를 불러와서 e.icon에 오류가 발생하는데, ...TABS로 적으면 map이 실제로 TABS안에 있는 리스트 요소를 e로 가져오는거같은데 ...의 의미가 궁금합니다!
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
npm i 명령어 실행 시 이런 오류가 발생하는데 혹시 해결방법이 있을까요? 그리고 android studio에서 node 명령어 수행 시 제대로 실행되지 않는 문제가 있는데 powershell을 통해 동일한 경로에서 실행하면 제대로 실행됩니다. 추가적으로 android studio에서 해주어야 하는 설정이 있을까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
만약 UI를 구현하는데 있어서 SizedBox의 height나 혹은 다른 Widget의 크기를 pixel단위로 수치로 주게 되면 비율이 다른 기기에서 원하는 형태로 표현을 못하거나 높이가 낮은 기기의 경우 잘리는 현상이 생길 것 같습니다. 혹시 일반적으로 앱을 구현할 때 이런 부분을 모두 MediaQuery.of(Context).size를 통해 비율로 구현하는 것이 옳은 방법일까요?
1강을 3번 정도 보면서 익히려고 노력하는데 머릿속에 다 들어오거나 외운 느낌은 아니에요. 그렇게 2강을 듣기 시작했는데 너무 어렵네요. 공부방법을 어떻게 하면 좋죠? 1강은 강사님이 알려주신거 코드 직접해보고 자료로만들고 했는데... 2강오니 이해안되는 부분들이 많아요.