
实现方法如下:
加载到XmlDocument,查找p子节点(XPath),如果要在子节点内继续查找,用递归;
string patten_block="<div class=\"wm_sktq_l\">[\\s\\S]</div>"
string patten_p="<p>[\\s\\S]</p>" 用组获取。
一、使用BeautifulSoup解析,能够得到一个 BeautifulSoup 的对象,并能按照标准的缩进格式的结构输出:
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc)
print(soupprettify())
# <html>
# <head>
# <title>
# The Dormouse's story
# </title>
# </head>
# <body>
# <p class="title">
# <b>
# The Dormouse's story
# </b>
# </p>
# <p class="story">
# Once upon a time there were three little sisters; and their names were
# <a class="sister" href=">
1、在浏览器中打开网页。然后//div,就可以找到页面中的所有div了,因为//表示的是任意目录下查找。如图,页面有两个div,所以可以找到两个。
2、要查找类为a的div,可以在div后面用[@class="类名"]来指定,这样没有类名a的div就会被过滤掉,当然,还可以用id,把class改为[@id="id名"]即可。
3、用//,这样div下面的非a标签就会被跳过,直接去找a标签。
4、如果要获取a标签的href,那么可以获取到a标签后用/@href即可获得。
5、如果是获取文本的话,可以用text()这个方法,就会得到a标签里面的内容。
6、斜杠/表示的是获取子元素,比如div下面有两个子元素p,那么//div[2]/p获取的就是第二个div的子元素p。
一般使用BeautifulSoup,是比较简单的
soup=BeaitifulSoup(html,'htmlparser')
要找到某各元素使用find_all方法就行
for div in soupfind_all('div'):
但是经常会遇到网站有反爬的设置,比如子结点中含有换行符,只要写个函数去掉子结点间的换行符就行。
以上就是关于python 怎样爬取div class=cont 里面的p span全部的内容,包括:python 怎样爬取div class=cont 里面的p span、怎么使用beautifulsoup获取指定div标签内容、Python怎样获取XPath下的A标签的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)