我接到了一个制作covid追踪器的项目。我决定在该站点(https://www.worldometers.info/coronavirus/)中添加一些元素。我对python很陌生,所以决定用BeautifulSoup。我能够刮出基本元素,比如总案例,活动案例等等。然而,每当我试图获取国家名称或数字时,它返回一个空列表。即使存在一个类'sorting_1',它仍然返回一个空列表。有人能指引我哪里错了吗?
这是我想要抓住的东西:
<td style="font-weight: bold; text-align:right" class="sorting_1">4,918,420</td>
下面是我当前的代码:
import requests
import bs4
#making a request and a soup
res = requests.get('https://www.worldometers.info/coronavirus/')
soup = bs4.BeautifulSoup(res.text, 'lxml')
#scraping starts here
total_cases = soup.select('.maincounter-number')[0].text
total_deaths = soup.select('.maincounter-number')[1].text
total_recovered = soup.select('.maincounter-number')[2].text
active_cases = soup.select('.number-table-main')[0].text
country_cases = soup.find_all('td', {'class': 'sorting_1'})
您可以获得sorting_1
类,因为它不存在于页面源中。您已经找到表中的所有行,然后从所需列中读取信息。
因此,要获得每个国家/地区的总案例,可以使用以下代码:
import requests
import bs4
res = requests.get('https://www.worldometers.info/coronavirus/')
soup = bs4.BeautifulSoup(res.text, 'lxml')
country_cases = soup.find_all('td', {'class': 'sorting_1'})
rows = soup.select('table#main_table_countries_today tr')
for row in rows[8:18]:
tds = row.find_all('td')
print(tds[1].text.strip(), '=', tds[2].text.strip())
我试图刮这个网站:https://ec.europa.eu/research/mariecurieactions/how-to/find-job_en使用Python。 首先,我注意到我感兴趣的表实际上位于以下url:https://ec.europa.eu/assets/eac/msca/jobs/import-jobs_en.htm 然而,请求BS4只给我超文本标记语言的页面源。我假设这是因为
我正在尝试获取每个<代码>的文本 示例:
问题内容: 当我将其粘贴到浏览器中时,以下方法起作用: 但是,当我尝试使用Python读取URL时,没有任何反应: 我需要对URL进行编码,还是没有看到什么? 问题答案: 要回答您的问题: 您需要,而不是 编辑(2018-06-25):自Python 3起,旧版被替换为(有关详细信息,请参阅https://docs.python.org/3/library/urllib.request.html#
问题内容: 我试图更深入地了解Python的工作方式,并且一直在查看http://docs.python.org/3.3/reference/grammar.html上显示的语法。 我注意到它说您也必须更改parsermodule.c,但说实话,我只是不关注这里发生的事情。 我了解语法是如何阅读该语言的规范,但是…我什至不知道该写的是什么。它看起来几乎像Python,但实际上不是。 我希望更好地了
问题内容: 是否可以从Java内部类中获取对它的引用? 即 问题答案: 您可以像这样访问外部类的实例:
现在大家有任何线索,如何刮那些在页面完全加载后用ajax或JavaScript显示的内容。 提前感谢!!