20.11.12 21:19 작성
·
258
0
안녕하세요.
바로 실전 크롤링해보기: 네이버 쇼핑 사이트 크롤링하기의 8분 48초에 대해 질문 있습니다.
site list에 여러 사이트를 넣어두고 반복했는데, 이떄 헷갈리지 않게 위에 사이트명을 print(site)로 적으셨잖아요. 저는 사이트 명 대신 패션이나 인테리어같이 한글로 적고 싶은데요.
어떻게 반복문 와중에 각각의 사이트주소를 한글로 대치할 수 있을까 고민하다가 딕셔너리로는 되지 않을까 해서 해봤는데요. 키값인 한국어를 불러오기도전에 변수명.values에서부터 오류가 먹네요.
site_list={'패션':'https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000000'}
from bs4 import BeautifulSoup
import requests
res = requests.get(site_list.values())
soup = BeautifulSoup(res.content,'html.parser')
items = soup.select('#productListArea > ul > li > p > a')
for item in items:
print(item.get_text())
아무래도 No connection adapters were found for "dict_values(['https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000000'])" 로 뜬걸로 보아 안되는 것 같은데 앞서 말씀드린 것처럼 사이트주소를 한글로 바꾸려면 어떤 방법이 있을까요?
답변 3
2
저도 이걸로 고민 했었는데요!! 대신 답글 달아드려요
저도 dictionary 이용해서 코드 진행했구요
'패션'이랑 '가전' best 100 을 한 번에 가져오고 싶었습니다.
그리고 영문사이트 주소명 대신 한글 키워드를 상단에 넣고 싶었구요.
저희가 데이터 구조에서 배웠던 딕셔너리 읽기(변수명[키]) 를 활용했습니다.
-----------------------------------------------------
import requests
from bs4 import BeautifulSoup
site_dic={'https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000002':"패션",'https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000003':"가전"}
for site_list in site_dic.keys():
print(site_dic[site_list])
res=requests.get(site_list)
soup=BeautifulSoup(res.content, 'html.parser')
data=soup.select('#productListArea > ul>li > p > a')
for index,i in enumerate(data):
print(index+1,i.get_text())
print('\n')
--------------------------------------------------
도움이 되었으면 좋겠습니다 :)
0
2020. 11. 23. 16:19
ㄴ서현님 정말 감사드립니다. 무턱대고 request.get안에 딕셔너리값을 끼워넣어서 그런가보네요. 반복문으로 다시 한 번 해보겠습니다 번호까지 매겨져있고 코드 깔끔하니 좋네요 더 공부해야겠습니다 ㅎㅎ 답변 다시 한 번 감사드려요~!!!
0
2020. 11. 13. 10:35
안녕하세요. 우선 이 부분은 다음 공지사항과 함께 양해를 부탁드립니다.
각자의 코드를 봐드리거나, 각자 원하시는 기능을 함께 작성하기에는 조금 무리가 있습니다. 간략히만 이야기드리면, 다음과 같이 해도 되지 않을까 생각합니다. 감사합니다.
res = requests.get(site_list['패션'])
-------------
안녕하세요. 잔재미코딩 Dave Lee 입니다.
오늘은 한가지 공지를 드려요~~
그동안 정말 다양하고 많은 분들께서 수강을 해주고 계시는데요. 그러다보니, 질문/답변 란에 동일한 이야기를 드릴 때가 많아서 공유를 드려요.
질문/답변 란에, 각자 원하시는 크롤링 코드 관련 문의를 해주시는 경우가 꽤 있었는데요. 그 때마다, 가급적 배려를 드리는 차원으로, 가볍게 볼 수 있는 부분에 대해서만 답변을 드리기는 했습니다. 하지만, 해당 질문/답변 란은 본 강의 영상과 관련한 질문이 있을 때를 답변해드리는 것이 기본 취지인 것 같아요.
온라인 수학 강의를 수강하면서, 강의에 나온 수학공식을 사용하는 강의 외에 각자 풀고 있는 수학 문제를 질문하고, 이를 풀어드리는 강의는 본 적이 없는데요. 마찬가지로 본 강의를 수강하시면서, 각자의 코드나, 각자 원하시는 크롤링 코드를 작성해드리거나, 함께 풀어나가는 것은 현실적으로 큰 무리가 있습니다.
더군다나 본 강의가 평생 수강이 가능하기 때문에, 이를 지원해드릴 경우, 본 강의를 들으면 내가 원하는 크롤링 코드는 모두 해결해드려야 하는 오해 아닌 오해도 생길 수 있고요. 심지어, 저도 실제 코드를 작성해봐야 해서, 코드를 작성하느라 답변이 늦어지면, 다른 답변이 늦어질 수도 있어서, 다른 수강생분들께도 문제가 될 수 있을 것 같습니다.
그래서, 질문/답변란에 문의를 주실 때에는 각자의 원하시는 크롤링 코드 관련 문의는 안해주시면 감사하겠습니다. 이 부분 꼭 양해를 부탁드립니다.
또한 가능하다면,
1) 어느 챕터의 몇분(:몇초)정도에서 이 부분이 이해가 안간다 와 같은 식으로 질문을 해주시면,
2) 강의에서 나온 코드는 이미지 캡쳐보다, 코드 자체를 텍스트로 질문에 붙여주시면,
훨씬 저도 이해가 빨라서, 빠르게 지금과 같이 상세하게 답변드릴 수 있을 것 같습니다.
감사합니다.~~~ 잔재미코딩 드림
인프런에 오픈 중 또는 오픈 예정인 강의 코스
풀스택 코스: 최신 웹/앱 서비스를 A to Z 로 혼자서도 만들 수 있는 테크트리
익히는 순서에 따라 번호를 붙여 놓았습니다.
1. 파이썬과 데이터 수집(크롤링) 기본 (파이썬과 웹, 데이터 이해 기본)
2. SQL과 데이터 저장/분석 기본 (SQL 데이터베이스 기본)
3. NoSQL(mongodb) 빅데이터 기본 (NoSQL 데이터베이스 기본)
4. 가장 빠른 풀스택: 파이썬 백엔드와 웹기술 기본 [풀스택 Part1]
5. 파이썬 백엔드 중급과 풀스택 서비스 개발 (풀스택 Part2, 9월 오픈 예정)
6. 풀스택을 위한 Vue 와 프론트엔드 웹기술 기본 (풀스택 Part3, 10월 오픈 예정)
7. 풀스택을 위한 AWS 와 docker 기반 배포 기술 기본 (풀스택 Part4, 11월 오픈 예정)
8. 풀스택 앱 개발을 위한 flutter 기본 (풀스택 Part5, 12월 오픈 예정)
* 로드맵 패키지로 한번에 현재까지의 풀스택 코스 모든 강의를 할인된 가격으로도 제공합니다.
[입문~중급] 가장 쉽고, 빠른 풀스택 로드맵
데이터 분석/과학 코스: 원하는 데이터를 가져와서 분석하고, 예측까지 할 수 있는 최신 테크트리
익히는 순서에 따라 번호를 붙여 놓았습니다.
1. 파이썬 입문과 크롤링 기초 부트캠프 (파이썬과 데이터 수집 기본)
2. Scrapy와 Selenium 정복 (현존 최강 크롤링 중급 기술 및 관련 IT 지식)
3. SQL과 데이터 저장/분석 기본 (데이터 저장/분석)
4. NoSQL(mongodb) 빅데이터 기본 (빅데이터 저장/분석)
5. 파이썬 데이터 분석 기본 (데이터 분석)
6. 머신러닝/인공지능 기본 (데이터 예측, 열심히 준비하고 있습니다)
로드맵 패키지로 한번에 현재까지 모든 강의를 할인된 가격으로도 제공합니다.
[입문~초급] 취업을 위한 데이터 분석 기본 기술 쉽게! 꼼꼼하게 익히기