我会知道如何从网站获取数据 我找到了一个教程并完成了
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
是随机词
感谢您提供任何帮助
答案 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)