【发布时间】:2020-10-14 06:02:34
【问题描述】:
这是数据结构
<div class = 'xxx' id = 'yyy'>
<div class id = 'zzz' class = 'kkk'>
<script type = 'bbb'>
// noise word
</script>
<strong class = '111'>...</strong>
<span class = '222'>...</span>
<br>
### target data
<br>
### target data2
<br>
### target data 3
<a href="http://news.khan.co.kr/kh_cartoon/?utm_source=naver&utm_medium=news_bottom_outlink" target="_blank">▶ 장도리 | 그림마당 보기</a><br/><a href="http://www.khan.co.kr/?utm_source=naver&utm_medium=news_bottom_outlink" target="_blank">▶ 경향신문 바로가기</a><a href="http://smile.khan.co.kr/gudoc/gudoc_input_step3.html?media_cd=201&utm_source=naver&utm_medium=news_bottom_outlink" target="_blank">▶ 경향신문 구독신청하기</a><br/><br/>©경향신문(www.khan.co.kr), 무단전재 및 재배포 금지<br/><br/>
<!-- // 본문 내용 -->
</div>
... etc
我只想获取目标数据。我使用 bs4 获取 html 中的单词数据。
下面是我获取单词的源代码
soup.find_all('div',{'id':'yyy'})
但它返回了许多噪声数据。
我怎样才能只使用 bs4 和 selenium 获取目标数据??
this is target url and i wanna get text in article body
下面是我的解析源代码
def crwaling_article(self,url):
"""
Parameters
----------
url : List
Article URL to get data.
Returns : DataFrame
Article Description Data Frame
-------
None.
"""
chrome_driver = webdriver.Chrome('D:/바탕 화면/인턴/python/crawling_software/crwaler/news_crwaling/chromedriver.exe')
chrome_driver.get(url)
html = chrome_driver.page_source
soup = BeautifulSoup(html , 'html.parser')
title = soup.find('div',{'class':'article_info'}).find('h3',{'id':'articleTitle'}).get_text()
date = soup.find('div', {'class':'article_info'}).find('span',{'class':'t11'}).get_text()
article = soup.find_all('div',{'id':'articleBodyContents'})
chrome_driver.quit()
self.set_title(title)
self.set_date(date)
【问题讨论】:
-
你的目标是什么?
-
真正的文字是什么而不是
target data? -
我无法上传那个。我想是因为它太复杂了。所以我的详细问题是如何在### targetdata 获取数据。究竟如何才能在只有文本中获取数据?@YangDongJae 在目标数据中有任何标签还是纯文本?您提供的html不完整。它只包含开始标签。关闭标签在哪里?
标签: python parsing beautifulsoup web-crawler