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)
答案 0 :(得分:1)
你的问题在这里:
subLink.select('input')[0]
特别是你选择[0]
。有许多input
元素,您想要的元素不是第一个。第一个是<input id="hid" type="hidden">
,靠近s1
的顶部。
要可靠地找到正确的标记,只需使用其id
,如下所示:
s = subLink.find(id="articleNextLink").get('value')