【问题标题】:how to get data from <ul>,<li>l ist tags to scrape data如何从<ul>,<li>list标签中获取数据来抓取数据
【发布时间】:2019-05-02 09:05:39
【问题描述】:

我已经从网页中提取数据,但我无法从没有唯一标识符的网页中提取数据

我已经尝试从具有唯一标识符(例如 class 、span 、id )的网页中提取数据,但是当页面没有唯一标识符时该怎么办

url="https://dblp.org/"
r=requests.get(url)
print(r.content)
b=BeautifulSoup(r.text,"html.parser")
print(b.prettify())
a=b.find_all('ul',{"id":"browsable"})  #no id is available

它实际上显示 None 预期结果应该是可用链接列表

【问题讨论】:

  • 你在寻找什么链接?

标签: html web-scraping data-extraction


【解决方案1】:

您可以将type 选择器用于a 元素内的a 标记。以body 父标签为例,您可以通过以下方式获取li 子元素a hrefs:

import requests
from bs4 import BeautifulSoup

url = 'https://dblp.org/'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'lxml')
links = [item['href'] for item in soup.select('body li a')]
print(links)

如果必须有父ul标签则:

body ul li a

特别值得注意的是,其中两个脚本标签还包含一个 json 结构,其中包含根据您的需要提供的链接。

【讨论】:

    猜你喜欢
    • 2022-07-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多