如何完成代码以仅从维基百科页面获取输出的第一行?

时间:2018-02-23 09:32:44

标签: python python-3.x beautifulsoup

以下代码显示了一些输出。从它,如何只获得第一行?

#!/usr/bin/env python
# coding=utf-8
from bs4 import BeautifulSoup
import requests

url = u'https://ta.wikisource.org/w/index.php?title=அட்டவணை பேச்சு:நாடகக்கலை-2.pdf&action=history'
content = requests.get(url).content
soup = BeautifulSoup(content,'lxml')
#talkPage1 = soup.findAll(id='mw-content-text')
talkPage2 = soup.findAll(id='mw-history-compare')

for link in talkPage2:
    print(link.text)

输出: -

(நடப்பு | முந்திய) 05:56, 23 பெப்ரவரி 2018‎ Info-farmerBot (பேச்சு | பங்களிப்புகள்)‎ . . (வெற்று) (-4)‎ . . (-) (மீளமை) (அடையாளம்: Blanking)
(நடப்பு | முந்திய) 05:55, 23 பெப்ரவரி 2018‎ Info-farmerBot (பேச்சு | பங்களிப்புகள்)‎ . . (4 எண்ணுன்மிகள்) (+4)‎ . . (gdeg) (மீளமை)
.
.
.
.
(நடப்பு | முந்திய) 13:17, 28 ஜனவரி 2016‎ Info-farmer (பேச்சு | பங்களிப்புகள்)‎ . . (129 எண்ணுன்மிகள்) (+129)‎ . . (பகுப்பு:மின்னூல்கள்-பொதுகள உரிமம்-துப்புரவு‎)

我们只需要第一行的输出如下: -

(நடப்பு | முந்திய) 05:56, 23 பெப்ரவரி 2018‎ Info-farmerBot (பேச்சு | பங்களிப்புகள்)‎ . . (வெற்று) (-4)‎ . . (-) (மீளமை) (அடையாளம்: Blanking)

2 个答案:

答案 0 :(得分:1)

#!/usr/bin/env python
# coding=utf-8
from bs4 import BeautifulSoup
import requests

url = u'https://ta.wikisource.org/w/index.php?title=அட்டவணை பேச்சு:நாடகக்கலை-2.pdf&action=history'
content = requests.get(url).content
soup = BeautifulSoup(content, 'lxml')
# talkPage1 = soup.findAll(id='mw-content-text')
talkPage2 = soup.find(id='mw-history-compare').find('li')  # narrows it down to list items instead of the whole list

print(talkPage2.text)

输出:

(நடப்பு | முந்திய) 05:56, 23 பெப்ரவரி 2018‎ Info-farmerBot (பேச்சு | பங்களிப்புகள்)‎ . . (வெற்று) (-4)‎ . . (-) (மீளமை) (அடையாளம்: Blanking)

这是你在找什么?您以前打印过整个列表,我想也许您的意思是您正在寻找列表的第一个列表项。这就是寻找的东西。

答案 1 :(得分:-1)

break循环中添加for

#!/usr/bin/env python
# coding=utf-8
from bs4 import BeautifulSoup
import requests

url = u'https://ta.wikisource.org/w/index.php?title=அட்டவணை பேச்சு:நாடகக்கலை-2.pdf&action=history'
content = requests.get(url).content
soup = BeautifulSoup(content,'lxml')
#talkPage1 = soup.findAll(id='mw-content-text')
talkPage2 = soup.findAll(id='mw-history-compare')

for link in talkPage2:
    print(link.text)
    break

这只会给你第一行。