Python3 beautifulsoup4 - 获取输入值

时间:2017-06-28 09:47:42

标签: python beautifulsoup web-crawler

1,发布主页面 2,输入第一个内容 3,在儿童页面中获取下一个内容

我找到了隐藏的文章属性。但是我无法获得实际值。 我试图找到所有东西得到输入值,但它不起作用。 Similar question:

import bs4,requests,os

url = 'http://www.qiushibaike.com'
#request the main page
res = requests.get(url)
res.raise_for_status()

soup = bs4.BeautifulSoup(res.text,"html.parser")

qsMain = soup.select('a[class="contentHerf"]')[0]
print(qsMain)
url = 'http://www.qiushibaike.com' + qsMain.get('href')

#enter the first content
res = requests.get(url)
res.raise_for_status()
print(url)
subLink = bs4.BeautifulSoup(res.text,"html.parser")

#get Children page 
s = subLink.select('input')[0].get('value')
print(s)
s1 = subLink.find("div", {"class":"article block untagged noline mb15"})
print(s1)

here the INPUT I want find

1 个答案:

答案 0 :(得分:1)

你的问题在这里:

subLink.select('input')[0]

特别是你选择[0]。有许多input元素,您想要的元素不是第一个。第一个是<input id="hid" type="hidden">,靠近s1的顶部。

要可靠地找到正确的标记,只需使用其id,如下所示:

s = subLink.find(id="articleNextLink").get('value')