<jupyter_start><jupyter_text>우리가 브라우저를 사용할때 하는 방식대로 프로그래밍 해라 일상에서 하는걸 프로그래밍 한다 생각하자<jupyter_code>import requests #브라우저 여는 모듈
path = 'https://news.daum.net/economic#1'
req = requests.get(path) 
# urL 은 서버의 위치 L 은 로케이션 이란 뜻 
req.status_code
from bs4 import BeautifulSoup
soup = BeautifulSoup(req.content, 'html.parser')
soup
type(soup)
myselect = 'div > strong.tit_thumb > a[href].link_txt'
result = soup.select(myselect)
type(result)
result[0] #태그가 있다면 태그 어트리뷰트 텍스트 형태로 구성되있다는걸 기억해라
result[0].text
result[0]['class']
for tag in result:
    print(tag.text.strip(), tag['class'])
    #습관적으로 텍스트는 스트립을 붙혀줘라 
[
    [title,link],
    [title01,link01],
    [title02,link02],
]
contents = []
for tag in result:
#     print(tag.text.strip(),tag['href'].strip())
    title = tag.text.strip()
    link = tag['href'].strip()
    content = [title, link]
    contents.append(content)
len(contents)
contents
import pandas
pd = pandas.DataFrame(contents, columns=['title', 'link'])
pd
pd.to_excel('./saves/test.economic01.xlsx', index=False)
# permission error = 이건 내가 파일을 열어둬서 에러가 나는것 
# class가 여러개인 경우 는 태그.클래스이름.클래스이름 이렇게 지정가능하다<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14148471615720523, 'fraction_numerical': 0.013100436681222707, 'mean_word_length': 4.590243902439024, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '651338', 'license': 'Apache-2.0', 'n_tokens_mistral': 593, 'n_tokens_neox': 691, 'n_words': 110, 'path': 'scraping_daumeconomic_using_bs4.ipynb', 'repo_name': 'power3247/test_webscraping', 'size': '1145'}