Python 如何从该网页中删除文本?

Python 如何从该网页中删除文本?,python,web-scraping,beautifulsoup,python-requests,python-3.7,Python,Web Scraping,Beautifulsoup,Python Requests,Python 3.7,我正在尝试刮取这个HTML标题 <h2 id="p89" data-pid="89"><span id="page77" class="pageNum" data-no="77" data-before-text="77"></span>Tuesday, July&nbsp;30</h2> 它应该返回我今天的数据,但它返

我正在尝试刮取这个HTML标题

<h2 id="p89" data-pid="89"><span id="page77" class="pageNum" data-no="77" data-before-text="77"></span>Tuesday, July&nbsp;30</h2>

它应该返回我今天的数据,但它返回我过去的一天:
7月24日星期三

数据正在异步加载,div的内容正在更改。您需要的是一个selenium web驱动程序来与bs4一起工作。

目前我没有要测试的电脑,请仔细检查可能出现的错误

您需要,将其放在脚本的同一文件夹中

我的想法是使用selenium获取HTML,然后解析它:

import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = "https://wol.jw.org/en/wol/h/r1/lp-e"
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)
time.sleep(3)
page = driver.page_source
driver.quit()
soup = BeautifulSoup(page, 'html.parser')
textodiario = soup.find('header')
dia = textodiario.h2.text
print(dia)

我确实试过你的代码,但网站/代码获取数据的方式肯定有问题。因为当我用管道将整个URL文本传输到带有July的grep时,它会给出:

Wednesday, July 24
<h2 id="p71" data-pid="71"><span id="page75" class="pageNum" data-no="75" data-before-text="75"></span>Wednesday, July 24</h2>
<h2 id="p74" data-pid="74">Thursday, July 25</h2>
<h2 id="p77" data-pid="77">Friday, July 26</h2>
7月24日,星期三
七月二十四日(星期三)
七月二十五日(星期四)
七月二十六日(星期五)
如果让我猜一猜的话,他们在h2下保留多个日期的事实可能没有帮助,但我几乎没有抓取网页的经验。如果你注意到,7月30日甚至不在那里,这意味着你的数据在某个地方变得很奇怪(正如LazyCoder所指出的)


希望Selenium能够解决您的问题。

转到
网络
选项卡,您将获得链接

https://wol.jw.org/wol/dt/r1/lp-e/2019/7/30
这是代码

from bs4 import BeautifulSoup
headers = {'User-Agent':
        'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}
session = requests.Session()
response = session.get('https://wol.jw.org/wol/dt/r1/lp-e/2019/7/30',headers=headers)
result=response.json()
data=result['items'][0]['content']
soup=BeautifulSoup(data,'html.parser')
print(soup.select_one('h2').text)
输出:

Tuesday, July 30

页面正在异步加载,日期正在动态更改,替换现有值。因此。。。不可能取消这个日期?你是怎么到达那个页面的?通过搜索?谢谢!我怎样才能用硒来消除这个问题呢?这是一个完全不同的广泛问题,超出了这个范围。我们不是来给你做作业的,对吗?这是一个好的开始:
Tuesday, July 30