Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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
无法浏览下拉列表项[Python][beautifulsoup]_Python_Web Scraping_Beautifulsoup - Fatal编程技术网

无法浏览下拉列表项[Python][beautifulsoup]

无法浏览下拉列表项[Python][beautifulsoup],python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我是网络垃圾的新手,我正在清理一个网站- 在这篇文章中,我想删掉这篇课文-常规计划 但问题是,当我使用inspect元素时, 代码- 我在打印中没有得到任何结果,我不知道为什么,inspect元素和view page source中的代码也不同,因为在view page source中,这个跨度和类不存在。 为什么我一个也得不到??任何人都可以告诉我,我如何获取该文本,以及为什么inspect元素代码和view page源代码不同?您需要更改选择器,因为下载的html源代码不同 import

我是网络垃圾的新手,我正在清理一个网站-

在这篇文章中,我想删掉这篇课文-常规计划

但问题是,当我使用inspect元素时, 代码-

我在打印中没有得到任何结果,我不知道为什么,inspect元素和view page source中的代码也不同,因为在view page source中,这个跨度和类不存在。
为什么我一个也得不到??任何人都可以告诉我,我如何获取该文本,以及为什么inspect元素代码和view page源代码不同?

您需要更改选择器,因为下载的html源代码不同

import requests
from bs4 import BeautifulSoup
import csv
import sys

url = 'https://www.valueresearchonline.com/funds/newsnapshot.asp?schemecode=22'
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
regular_direct = soup.find("select", {"id":"select-plan"}).find("option",{"selected":"selected"}).get_text(strip=True)

print(regular_direct)
输出:

Regular plan

是的,它正在被刮取,但您能告诉我应该使用inspect元素还是使用view源代码刮取吗??你是怎么得到那个选择器的我是说特定的选择器?或者,您如何知道应该使用此选项?Inspect元素位于浏览器上,不能保证使用
请求发送相同的html。所以,最好的选择是打开下载的html。使用
请求
然后使用inspect elementok,非常感谢,我从昨天起就陷入了这个困境,@Prabhatkumar澄清了为什么,
请求
在浏览器执行Javascript时不执行Javascript。为了缓解这种情况,可以使用
请求html
,它执行Javascript,并且具有与
请求
类似的API。
Regular plan