【问题标题】:Search on a webpage using python requests使用 python 请求在网页上搜索
【发布时间】:2019-10-03 10:06:34
【问题描述】:

我想获取网页的 html 内容。我不确定如何定义搜索字段, 我尝试了以下方法。

from fake_useragent import UserAgent
import requests


ua = UserAgent()
print(ua.chrome)
header = {'User-Agent': str(ua.chrome)}
print(header)
body = {'Search': '1.1.1.1'}
url = "https://randr.nist.gov/enzyme/Default.aspx"
htmlContent = requests.get(url, data=body) 
print(htmlContent.text)

有人可以建议如何定义正确的搜索字段吗?

【问题讨论】:

  • 搜索看起来是事件驱动的 java 脚本/ajax 样式更新到页面,所以你需要使用可以处理 JS 事件的东西,比如 selenium

标签: python web-scraping python-requests


【解决方案1】:

可以像这样使用 selenium 轻松完成:

from selenium import webdriver

search_input = '1.1.1.1'

driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://randr.nist.gov/enzyme/Default.aspx')
driver.find_element_by_id('MainBody_txtSrchAutoFill').send_keys(search_input)
driver.find_element_by_id('MainBody_ImgSrch').click()
result_table = driver.find_element_by_id('MainBody_gvSearch')
print(result_table.text)

【讨论】:

  • 非常感谢。设置 chrome 可执行文件的路径时出现以下错误,“selenium.common.exceptions.WebDriverException: Message: Service C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 意外退出。状态码是: 0"`
  • 从这里下载一个网络驱动程序:chromedriver.chromium.org/downloads
最近更新 更多