编程语言
首页 > 编程语言> > javascript-单击并使用BS4 python抓取aspx页面

javascript-单击并使用BS4 python抓取aspx页面

作者:互联网

我试图通过单击一个按钮来抓取网站.我尝试使用萤火虫和谷歌浏览器控制台.我无法捕获正在发送的请求,以避免单击按钮.单击以下URL中的搜索按钮时,我仅看到两个.js文件作为请求

http://www.icsi.edu/Facilities/MembersDirectory.aspx

解决方法:

我认为处理此问题的最简单方法是使用Selenium的WebDriver.

链接:http://www.seleniumhq.org/docs/03_webdriver.jsp#introducing-webdriver

如果您已安装pip,则简单

pip install selenium

应该管用.我建议使用Firefox作为浏览器.

您可以使用Selenium下载页面,然后再使用BS4进行解析.这是一个简单的脚本,它将在表单中输入“ Foo”和“ Bar”,然后单击“搜索”按钮.

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.icsi.edu/Member/MembersDirectory.aspx")
# Alternatively, link directly to the form:
# driver.get("https://www.icsi.in/student/Members/MemberSearch.aspx?SkinSrc=%5BG%5DSkins/IcsiTheme/IcsiIn-Bare&ContainerSrc=%5BG%5DContainers/IcsiTheme/NoContainer")

# Locate the elements.
first = driver.find_element_by_id("dnn_ctr410_MemberSearch_txtFirstName")
last = driver.find_element_by_id("dnn_ctr410_MemberSearch_txtLastName")
search = driver.find_element_by_id("dnn_ctr410_MemberSearch_btnSearch")

# Input the data and click submit.
first.send_keys("Foo")
last.send_keys("Bar")
search.click()

作为奖励,以下是遍历结果页面的方法:

# next_page should be redeclared every time you visit a new page.
next_page = driver.find_element_by_class_name("rgPageNext")
next_page.click()

标签:beautifulsoup,web-scraping,asp-net,javascript,python
来源: https://codeday.me/bug/20191122/2060006.html