[tools] requests

inspect chrome里右键,选中inspect, 可以查看network,all,运行的时候可以具体看哪些request,比如get, post之类的,找到post的url requests import requests files = {'file': open 'report.xls', 'rb' } data = {"key": "value

inspect

chrome里右键,选中inspect, 可以查看network,all,运行的时候可以具体看哪些request,比如get, post之类的,找到post的url

requests

import requests

files = {'file': open('report.xls', 'rb')}
data = {"key": "value", }
# post的时候用data
response = requests.post(url, files=files, data=data)

# get的时候用params
response = requests.get(url, files=files, params=data)

response.text

也可以用session

s = requests.Session()
response = s.post(url, files=files, data=data)
response.text

httpx

pip install httpx

import httpx

files = {'file': open('report.xls', 'rb')}
data = {"key": "value", }

# post的时候用data
response=httpx.post(url, files=files, data=data)
# get的时候用params
response=httpx.get(url, params=data)

# 用client,和session类似
with httpx.Client() as client:
    response = client.post(url, files=files, data=data)

response.text
response.status_code

selenium

针对jupyter notebook的安装

pip install 'google-colab-selenium[undetected]'

如果不在colab里,需要

import os
os.environ['COLAB_GPU'] = '1'

用法

driver = gcs.UndetectedChrome()
url = ...

driver.get(url) # 进入网页

# 上传文件
file_input = driver.find_element(By.NAME, "PDBfile")
file_input.send_keys(str(path))

# 输入key value
driver.find_element(By.NAME, "key").clear()
driver.find_element(By.NAME, "key").send_keys("value")

# 点击提交
submit_button = driver.find_element(By.XPATH, '//input[@type="submit"]')
submit_button.click()

# 等待结果
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, "pre")))

# 提取结果
response_text = driver.page_source

# optional,如果需要回到原来的页面,或者在一个loop里
driver.get(url)

# 最后,quit driver
driver.quit()