如何用beautifulsoup提取网页某个部分的所有链接? [复制]

Posted

技术标签:

【中文标题】如何用beautifulsoup提取网页某个部分的所有链接? [复制]【英文标题】:How do I extract all the links of a certain section of a web page with beautifulsoup? [duplicate] 【发布时间】:2020-10-31 23:37:44 【问题描述】:

我只需要提取网页中某个部分的链接,但我在 Beautifulsoup 上找到的所有教程总是抓取整个页面。

如何只抓取某个<div class="xyz">内的链接???

编辑: 我目前有这个代码:

soup1.find_all('h3', class_="entry-title td-module-title")

这会找到网页的所有链接,包含在class_="entry-title td-module-title"

我想找到类中仍然包含的所有链接

"entry-title td-module-title"`

但只有那些包含在由以下部分表示的部分:

<div class="wpb_wrapper">

(对不起,如果我的问题有点缺乏信息,我试图添加更多细节)

【问题讨论】:

soup.findAll("div", "class": "xyz") 这应该可以。稍后您应该通过将其存储在变量中来抓取该部分内的各个链接。 这能回答你的问题吗? How to find elements by class 【参考方案1】:

试试这个:

soup2 =  soup1.find_all('div',class_='wpb_wrapper')
results = []
for div in soup2:
    required = div.find_all('h3', class_="entry-title td-module-title")
    results.append(required)

【讨论】:

我用不同的方式解决了,但你的回答还是很有用的【参考方案2】:

您可以为此任务使用 CSS 选择器:

for link in soup.select('div.wpb_wrapper h3.entry-title.td-module-title a'):
    print(link['href'])

这将打印&lt;h3 class="entry-title td-module-title"&gt; 下的所有链接,&lt;div class="wpb_wrapper"&gt; 下。

【讨论】:

以上是关于如何用beautifulsoup提取网页某个部分的所有链接? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何用python 爬虫抓取金融数据

网页上可以看到评论,但是 BeautifulSoup 返回的 html 对象不包含评论部分

如何用JS判断网页中某个id的网页元素是不是存在

如何用 BeautifulSoup 更改标签名称?

BeautifulSoup 不会从网页中提取所有表单

如何用Fiddler来抓包