python 怎样爬取div class=cont 里面的p span

python 怎样爬取div class=cont 里面的p span,第1张

实现方法如下:

加载到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标签的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9615948.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存