Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何使用Python和BeautifulSoup解析类_Html_Python 3.x_Parsing_Web Scraping_Beautifulsoup - Fatal编程技术网

Html 如何使用Python和BeautifulSoup解析类

Html 如何使用Python和BeautifulSoup解析类,html,python-3.x,parsing,web-scraping,beautifulsoup,Html,Python 3.x,Parsing,Web Scraping,Beautifulsoup,我试图只解析google.com/patents的独立声明,但它们使用与子依赖声明相同的类名。我是新来的,但我想我想问的是,如果父级有一个特定的类名,如何排除子级结果 我试着从BeautifulSoup教程中学习父母/孩子/兄弟姐妹等的例子 不幸的是,一切似乎都不起作用 我希望跳过从属声明部分,只打印独立声明 结果-打印所有独立和从属的声明。如果您的语句没有任何作用,因为它只包含continue(顺便说一句,结果是空的),因此您将在下一行打印所有声明 您可以使用dependentclaim r

我试图只解析google.com/patents的独立声明,但它们使用与子依赖声明相同的类名。我是新来的,但我想我想问的是,如果父级有一个特定的类名,如何排除子级结果

我试着从BeautifulSoup教程中学习父母/孩子/兄弟姐妹等的例子

不幸的是,一切似乎都不起作用


我希望跳过从属声明部分,只打印独立声明


结果-打印所有独立和从属的声明。

如果您的
语句没有任何作用,因为它只包含
continue
(顺便说一句,结果是空的),因此您将在下一行打印所有声明

您可以使用dependent
claim ref
标记筛选所有索赔:

from bs4 import BeautifulSoup
import requests

url = 'https://patents.google.com/patent/US7054130?oq=US7654309'

response = requests.get(url)

data = response.text
soup = BeautifulSoup(data, 'html.parser')


claims = soup.find_all('div', class_='claim')

for claim in claims:
    if not claim.find('claim-ref'):
        print(claim.find(class_='claim'))

您的
if
语句没有任何作用,因为它只包含
continue
(顺便说一下,结果是空的),所以您将在下一行打印所有声明

您可以使用dependent
claim ref
标记筛选所有索赔:

from bs4 import BeautifulSoup
import requests

url = 'https://patents.google.com/patent/US7054130?oq=US7654309'

response = requests.get(url)

data = response.text
soup = BeautifulSoup(data, 'html.parser')


claims = soup.find_all('div', class_='claim')

for claim in claims:
    if not claim.find('claim-ref'):
        print(claim.find(class_='claim'))

我认为只需对父类和子类进行筛选,因为这排除了父类为
claim dependent
的索赔,我假设这些索赔是受抚养人

print(soup.select('.claim .claim')
3个匹配项(权利要求1,6,19)


您可以在此处看到每种类型中的一种:

这适用于权利要求1和2。顶部的权利要求1具有类
权利要求的父div和类
权利要求的子div,而底部的权利要求2具有类
权利要求从属的父div,然后是类
权利要求的子div。所以您可以指定要筛选的父类和子类的关系



我认为只需对父类和子类进行筛选,因为这排除了父类为
claim dependent
的索赔,我假设这些索赔是受抚养人

print(soup.select('.claim .claim')
3个匹配项(权利要求1,6,19)


您可以在此处看到每种类型中的一种:

这适用于权利要求1和2。顶部的权利要求1具有类
权利要求的父div和类
权利要求的子div,而底部的权利要求2具有类
权利要求从属的父div,然后是类
权利要求的子div。所以您可以指定要筛选的父类和子类的关系



我是新来的,有点不确定“索赔参考”来自哪里。它是否引用了ref代替“dependent”的“claim dependent”(声明相关)?每个子项(dependent cliam)都有一个
标记,该标记引用一个父项,例如
声明1
。我正在筛选所有具有这样一个标记的声明,以便只保留独立声明。也请考虑接受或支持M解决方案,如果它帮助你或你喜欢它。我是新来的,有点不确定“索赔参考”来自哪里。它是否引用了ref代替“dependent”的“claim dependent”(声明相关)?每个子项(dependent cliam)都有一个
标记,该标记引用一个父项,例如
声明1
。我正在筛选所有具有这样一个标记的声明,以便只保留独立声明。也请考虑接受或支持M解决方案,如果它帮助你或你喜欢它。