在相同的标签中,我只想提取我想要的标签

时间:2017-02-14 06:06:20

标签: html python-3.x beautifulsoup web-crawler

我正在研究使用Python3抓取。

enter image description here

<ul class='report_thum_list img'>
    <li>...</li>
    <li>...</li>
    <li>...</li>
    <li>...</li>
    <li>...</li>

在此,我只想拉出li标签。

所以,我写了那个

ulTag = soup.findAll('ul', class_='report_thum_list img')
liTag = ulTag[0].findAll('li')
# print(len(liTag))

我预计二十(每页有20个帖子。)

但是超过100人出来了。

因为li标签中还有另一个li标签。

enter image description here

我不想在div标签中提取li标签。

如何提取20个li标签?

这是我的代码。

url = 'https://www.posri.re.kr/ko/board/thumbnail/list/63?page='+ str(page)
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, 'lxml')

ulTag = soup.find('ul', class_='report_thum_list img')
# liTag = ulTag.findAll('li')
liTag = ulTag.findChildren('li')
print(len(liTag))

1 个答案:

答案 0 :(得分:1)

 liTag = soup.select('ul.report_thum_list > li')

使用CSS选择器,它非常易于使用