我正在尝试使用数字解析中间位的“https://projecteuler.net/problem=8”。由于它没有单独的类来选择它,我使用了
r = requests.get('https://projecteuler.net/problem=8')
data = r.text
soup = BeautifulSoup(data, "lxml")
[para1, para2, para3] = (soup.find_all('p'))
要分隔段落,但这会留下很多额外的垃圾(<p> and <br>
)。是否有命令要清除所有这些?有没有比我目前使用的更好的命令进行拆分?从来没有真正在Python中进行过多的网页抓取......
答案 0 :(得分:2)
soup.find_all
返回一组包含html标签的html节点;如果要从节点中提取文本,可以在每个节点上使用.text
;在para2
上应用此项,即可:
para2.text.split()
#['73167176531330624919225119674426574742355349194934',
# '96983520312774506326239578318016984801869478851843',
# '85861560789112949495459501737958331952853208805511',
# '12540698747158523863050715693290963295227443043557',
# ...