当通缉标签未分类时,如何从网站收集数据?

时间:2019-11-23 19:10:56

标签: python

我会知道如何从网站获取数据 我找到了一个教程并完成了

import os
import csv
import requests
from bs4 import BeautifulSoup

requete = requests.get("https://www.palabrasaleatorias.com/mots-aleatoires.php")
page = requete.content
soup = BeautifulSoup(page)

该教程告诉我,我应该使用类似的方式来获取标签的字符串

h1 = soup.find("h1", {"class": "ico-after ico-tutorials"})
print(h1.string)

但是我遇到了一个问题:我想要获取文本内容的标签没有分类...我应该怎么做?

我尝试放{},但不起作用 这也{"class": ""} 实际上,它返回我无 我想获取网站这部分的文本内容:

<div style="font-size:3em; color:#6200C5;">
Orchard</div>

Orchard是随机词 感谢您提供任何帮助

1 个答案:

答案 0 :(得分:0)

不幸的是,BeautifulSoup中没有很多指针,并且您尝试获取的页面非常不适合您的任务(没有ID,类或其他有用的html功能指向) 。

因此,您应该更改指向html元素的方式,并使用Xpath-并且不能使用BeautifulSoup来做到这一点。为此,只需使用包html中的lxml来解析页面。在代码段下方(基于对this question的回答),该代码段提取了示例中的随机词。

import requests
from lxml import html

requete = requests.get("https://www.palabrasaleatorias.com/mots-aleatoires.php")
tree = html.fromstring(requete.content)
rand_w = tree.xpath('/html/body/center/center/table[1]/tr/td/div/text()')
print(rand_w)