Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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
更改'';在ASP.NET站点上使用Python获取请求_Python_Selenium_Beautifulsoup_Get_Python Requests - Fatal编程技术网

更改'';在ASP.NET站点上使用Python获取请求

更改'';在ASP.NET站点上使用Python获取请求,python,selenium,beautifulsoup,get,python-requests,Python,Selenium,Beautifulsoup,Get,Python Requests,我一直在尝试使用requests和BeautifulSoup为以下网站创建一个web scraper来提取信息,之后我将使用xlsxwriter将其添加到Excel工作表中: 上面的链接显示了上一页中设置为随机默认值的每个查询参数 使用请求,我能够提供与上述链接相同的有效负载,一旦我能够通过“#”符号,我计划使用用户输入对其进行更改 这是我当前使用的代码: from bs4 import BeautifulSoup import requests import xlsxwriter # Ar

我一直在尝试使用requests和BeautifulSoup为以下网站创建一个web scraper来提取信息,之后我将使用xlsxwriter将其添加到Excel工作表中:

上面的链接显示了上一页中设置为随机默认值的每个查询参数

使用请求,我能够提供与上述链接相同的有效负载,一旦我能够通过
“#”
符号,我计划使用用户输入对其进行更改

这是我当前使用的代码:

from bs4 import BeautifulSoup
import requests
import xlsxwriter

# Argument variables
payload = {
    'jcid': 'value1',
    'kw': 'value2',
    'classid': 'value3',
    'depid': 'value4',
    'locid': 'value5',
    'postdays': 'value6',
    'tenid': 'value7',
    'timid': 'value8',
    'minsal': 'value9',
    'appmethid': 'value10',
    'socmajorcode': 'value11'
}

# Request
r = requests.get(
    'https://www.calcareers.ca.gov/CalHRPublic/Search/JobSearchResults.aspx#', params = payload)

print(r.url)
我从
打印(r.url)
得到的响应是:

https://www.calcareers.ca.gov/CalHRPublic/Search/JobSearchResults.aspx?jcid=value1&kw=value2&classid=value3&depid=value4&locid=value5&postdays=value6&tenid=value7&timid=value8&minsal=value9&appmethid=value10&socmajorcode=value11
问题是网站不会加载
“?”
,而是需要传递
“#”


有没有想过如何通过请求来实现这一点?硒似乎可以避免这种情况,但我想尝试一下,因为我用硒碰上了一堵墙。

您可以覆盖
请求。get()
方法供您使用

导入请求
类ASPRequest(requests.Request):
def get(self、url、params、**kwargs):
qstring='#'
对于键,params.items()中的值:
qstring=qstring+“{}={}&.”格式(键,值)
return requests.get(url+qstring)
有效载荷={
“jcid”:“value1”,
“千瓦”:“值2”,
'classid':'value3',
“depid”:“value4”,
“locid”:“value5”,
“postdays”:“value6”,
“tenid”:“value7”,
“timid”:“value8”,
“minsal”:“value9”,
“appmethid”:“value10”,
“socmajorcode”:“value11”
}
r=ASPRequest().get(
url='1〕https://www.calcareers.ca.gov/CalHRPublic/Search/JobSearchResults.aspx,参数=有效载荷)
打印(r.url)