url decoding사이트
URL Decoder/Encoder - meyerweb.com
# 포맷팅 : '{}'에 넣으면 string --> 변환가능한 변수가됨
html = "https://ko.wikipedia.org/wiki/{search_words}"
# https://ko.wikipedia.org/wiki/여명의_눈동자
req = Request(html.format(search_words=urllib.parse.quote("여명의_눈동자")))
# string변수.format()
# urllib : url라이브러리, parse : 모듈, quote : 함수
# quote : str을 utf-8파일로 변환시켜줌
# 바로 읽을수 없는 url의 경우, 포맷팅을 넣었을경우 요청단계를 한번더 넣어줌
response = urlopen(req)
soup.find_all("ul")[32].text.strip().replace("\n", " ")
# --> 32번째 ul의 자료를 텍스트만 뽑아내고, 필요없는 문장은 공백으로 전환
strip([chars])
: 인자로 전달된 문자를 String의 왼쪽과 오른쪽에서 제거합니다.
lstrip([chars])
: 인자로 전달된 문자를 String의 왼쪽에서 제거합니다.
rstrip([chars])
: 인자로 전달된 문자를 String의 오른쪽에서 제거합니다.
얕은복사
깊은복사
list형을 반복문에(for) 적용
in 명령으로 조건문(if)에 적용
append : list 제일 뒤에 추가
pop : list 제일 뒤부터 자료를 하나씩 삭제
extend : 제일 뒤에 자료 추가
remove : 자료를 삭제
슬라이싱 : [n:m] n번째 부터 m-1까지
insert : 원하는 위치에 자료를 삽입
list안에 list
isinstance : 자료형 True/False
for문으로 list, list아닌파일 출력가능
최종목표
총 50개 페이지에서 각 가게의 정보를 가져온다
- 가게이름
- 대표메뉴
- 대표메뉴의 가격
- 가게주소
# 설치전
req = Request(url, headers={"User-Agent" : "chrome})
response = urlopen(reg).read()
soup = BeautifulSoup(html, "html.parser")
--------------------------------------------
# fake-useragent 설치
!pip install fake-useragent
from fake_useragent import UserAgent
--------------------------------------------
ua = UserAgent()
ua.ie
--> 웹데이터 네트워크의 user-agent 환경을 랜덤하게 만들어주는 기능
req = Request(url, headers={"user-agent" : ua.ie})
type(tmp_one) --> bs4.element.Tag
type이 bs4.element.Tag라는 것은 find명령을 사용할 수 있다는 뜻
import re
tmp_string = tmp_one.find(class_="sammyListing").text
re.split("\n|\r\n"), tmp_string)
# urljoin : 변수에 담긴 주소가 있다면 그대로, 없다면 추가해서 추출
from urllib.parse import urljoin
url_add.append(urljoin(url_base, item.find("a")["href]))
url(html)을 이용해 파일들을 불러와 정리할 예정