在这篇文章中,我们将带领您了解带有Python“请求”模块的代理的全貌,包括python内置的http请求库的相关情况。同时,我们还将为您介绍有关GraphQL查询带有Python请求的帖子、node
在这篇文章中,我们将带领您了解带有Python“请求”模块的代理的全貌,包括python内置的http请求库的相关情况。同时,我们还将为您介绍有关GraphQL查询带有Python请求的帖子、node.js:找不到模块“请求”、python – 有没有办法从导入的模块中获取“父”模块的名称?、Python-使用模块的名称(字符串)调用模块的函数的知识,以帮助您更好地理解这个主题。
本文目录一览:- 带有Python“请求”模块的代理(python内置的http请求库)
- GraphQL查询带有Python请求的帖子
- node.js:找不到模块“请求”
- python – 有没有办法从导入的模块中获取“父”模块的名称?
- Python-使用模块的名称(字符串)调用模块的函数
带有Python“请求”模块的代理(python内置的http请求库)
简短,简单的介绍了出色的Python 请求模块。
我似乎在文档中找不到变量“代理”应包含的内容。当我发送带有标准“ IP:PORT”值的字典时,它拒绝要求2个值。所以,我猜(因为文档中似乎没有涵盖),第一个值是ip,第二个值是端口?
文档只提到了这一点:
代理–(可选)字典到代理URL的映射协议。
所以我尝试了这个……我该怎么办?
proxy = { ip: port}
在将它们放入字典之前,我应该将它们转换为某种类型吗?
r = requests.get(url,headers=headers,proxies=proxy)
答案1
小编典典该proxies
“字典语法{"protocol":"ip:port", ...}
。使用它,你可以使用http,https和ftp协议为请求指定不同(或相同)的代理:
http_proxy = "http://10.10.1.10:3128"https_proxy = "https://10.10.1.11:1080"ftp_proxy = "ftp://10.10.1.10:3128"proxyDict = { "http" : http_proxy, "https" : https_proxy, "ftp" : ftp_proxy }r = requests.get(url, headers=headers, proxies=proxyDict)
从requests文档推导:
参数:
method
–新Request对象的方法。url
–新的Request对象的URL。
…proxies
–(可选)字典映射 协议到代理URL。
…
在Linux上,你也可以通过这样做HTTP_PROXY,HTTPS_PROXY以及FTP_PROXY环境变量:
export HTTP_PROXY=10.10.1.10:3128export HTTPS_PROXY=10.10.1.11:1080export FTP_PROXY=10.10.1.10:3128
在Windows上:
set http_proxy=10.10.1.10:3128set https_proxy=10.10.1.11:1080set ftp_proxy=10.10.1.10:3128
GraphQL查询带有Python请求的帖子
您的right
变量应不带花括号,并且应将所有的“↵”符号替换为“ \ n”:
query
另外,您的布尔值实际上是字符串,您需要这样定义它们:
query = "query getRestaurants($input: RestaurantsInput,$isNmap: Boolean!,$isBounds: Boolean!) {\n restaurants(input: $input) {\n total\n items {\n ...RestaurantItemFields\n easyOrder {\n easyOrderId\n easyOrderCid\n businessHours {\n weekday {\n start\n end\n __typename\n }\n weekend {\n start\n end\n __typename\n }\n __typename\n }\n __typename\n }\n baemin {\n businessHours {\n deliveryTime {\n start\n end\n __typename\n }\n closeDate {\n start\n end\n __typename\n }\n temporaryCloseDate {\n start\n end\n __typename\n }\n __typename\n }\n __typename\n }\n yogiyo {\n businessHours {\n actualDeliveryTime {\n start\n end\n __typename\n }\n bizHours {\n start\n end\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n nlu {\n ...NluFields\n __typename\n }\n brand {\n name\n isBrand\n type\n menus {\n order\n id\n images {\n url\n desc\n __typename\n }\n name\n desc\n price\n isRepresentative\n detailUrl\n orderType\n catalogId\n source\n menuId\n nutrients\n allergies\n __typename\n }\n __typename\n }\n optionsForMap @include(if: $isBounds) {\n maxZoom\n minZoom\n includeMyLocation\n maxIncludePoiCount\n center\n spotId\n __typename\n }\n __typename\n }\n}\n\nfragment RestaurantItemFields on RestaurantSummary {\n id\n dbType\n name\n businessCategory\n category\n description\n hasBooking\n hasNPay\n x\n y\n distance\n imageUrl\n imageUrls\n imageCount\n phone\n virtualPhone\n routeUrl\n streetPanorama {\n id\n pan\n tilt\n lat\n lon\n __typename\n }\n roadAddress\n address\n commonAddress\n blogCafeReviewCount\n bookingReviewCount\n totalReviewCount\n bookingReviewScore\n bookingUrl\n bookingBusinessId\n talktalkUrl\n options\n promotionTitle\n agencyId\n businessHours\n microReview\n tags\n priceCategory\n broadcastInfo {\n program\n date\n menu\n __typename\n }\n michelinGuide {\n year\n star\n comment\n url\n hasGrade\n isBib\n alternateText\n __typename\n }\n broadcasts {\n program\n menu\n episode\n broadcast_date\n __typename\n }\n tvcastId\n naverBookingCategory\n saveCount\n uniqueBroadcasts\n isDelivery\n markerLabel @include(if: $isNmap) {\n text\n style\n __typename\n }\n imageMarker @include(if: $isNmap) {\n marker\n markerSelected\n __typename\n }\n isTableOrder\n isPreOrder\n isTakeOut\n bookingDisplayName\n bookingVisitId\n bookingPickupId\n popularMenuImages {\n name\n price\n bookingCount\n menuUrl\n menuListUrl\n imageUrl\n isPopular\n usePanoramaImage\n __typename\n }\n visitorReviewCount\n visitorReviewScore\n detailCid {\n c0\n c1\n c2\n c3\n __typename\n }\n streetPanorama {\n id\n pan\n tilt\n lat\n lon\n __typename\n }\n __typename\n}\n\nfragment NluFields on Nlu {\n queryType\n user {\n gender\n __typename\n }\n queryResult {\n ptn0\n ptn1\n region\n spot\n tradeName\n service\n selectedRegion {\n name\n index\n x\n y\n __typename\n }\n selectedRegionIndex\n otherRegions {\n name\n index\n __typename\n }\n property\n keyword\n queryType\n nluQuery\n businessType\n cid\n branch\n franchise\n titleKeyword\n location {\n x\n y\n default\n longitude\n latitude\n dong\n si\n __typename\n }\n noRegionQuery\n priority\n showLocationBarFlag\n themeId\n filterBooking\n repRegion\n repSpot\n dbQuery {\n isDefault\n name\n type\n getType\n useFilter\n hasComponents\n __typename\n }\n type\n category\n __typename\n }\n __typename\n}\n"
,
{
"errors": [
{
"extensions": {
"code": "INTERNAL_SERVER_ERROR"
},"locations": [
{
"column": 48,"line": 1
}
],"message": "Variable \"$isNmap\" of required type \"Boolean!\" was not provided.","status": 500
},{
"extensions": {
"code": "INTERNAL_SERVER_ERROR"
},"locations": [
{
"column": 67,"message": "Variable \"$isBounds\" of required type \"Boolean!\" was not provided.","status": 500
}
]
}
我已经尝试了@GPost建议的操作,但是我仍然遇到无法弄清的错误。我想我必须在查询中间提供一个布尔值。
node.js:找不到模块“请求”
我安装了request模块,并收到错误消息:
module.js:340 throw err; ^Error: Cannot find module ''request''
我已经阅读了有关此错误的所有文章,并了解这是因为未全局找到模块请求,但是我已经尝试了2条建议
npm安装请求-g
应该把它安装在/ usr / loca / bin吗?因为我在那里看不到。
和
sudo npm链接
/ usr / local / lib / node_modules / request-> / Users / soulsonic / dev /
sandbox / node_test / request
我在执行每个命令后都重新启动了终端,但始终收到找不到模块的错误。
更新
我的初始目录中肯定有某种冲突,因为切换到新目录后,“ npm install request”没有在node_modules下添加“
request”(那里还有10个)。
如果我使用-g开关运行它,我确实会看到它已安装到/ usr / local / lib / node_modules / request。
看来我只需要更新我的个人资料,即可自动添加上述路径。
答案1
小编典典转到项目目录
mkdir TestProjectcd TestProject
将此目录设置为项目的根目录(这将创建一个默认package.json
文件)
npm init --yes
安装所需的npm模块并将其另存为项目依赖项(它将出现在中package.json
)
npm install request --save
test.js
使用包示例中的代码在项目目录中创建文件
var request = require(''request'');request(''http://www.google.com'', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); // Print the google web page. }});
您的项目目录应如下所示
TestProject/- node_modules/- package.json- test.js
现在只需在项目目录中运行节点
node test.js
python – 有没有办法从导入的模块中获取“父”模块的名称?
我很好奇是否可以访问导入其他模块的父模块的名称.
例如,如果我有一个模块(moduleA)并且父模块是foo.py,它将被导入到模块中,那么moduleA是否可以知道foo的位置?
ModuleA
def print_parent_module():
os.path.asbpath(#somehow access filename of parent module)
foo.py
import moduleA
print moduleA.print_parent_module()
>>> "foo.py"
parent_name = '.'.join(__name__.split('.')[:-1])
或者,如果您尝试直接访问模块(不是OP的问题但相关),请参阅Is there a way to access parent modules in Python中的答案
Python-使用模块的名称(字符串)调用模块的函数
如何解决Python-使用模块的名称(字符串)调用模块的函数?
假设模块foo
与方法bar
:
import foo
method_to_call = getattr(foo, ''bar'')
result = method_to_call()
你可以将第2行和第3行缩短为:
result = getattr(foo, ''bar'')()
如果这对你的用例更有意义。
你可以通过getattr
这种方式在类实例绑定方法,模块级方法,类方法…上使用清单。
解决方法
在Python程序中,给定带有函数名称的字符串的最佳方法是什么。例如,假设我有一个模块foo
,我有一个内容为的字符串"bar"
。最好的通话方式是foo.bar()
什么?
我需要获取函数的返回值,这就是为什么我不只是使用eval
。我想出了如何通过使用eval定义一个返回该函数调用结果的temp
函数来执行此操作的方法,但是我希望有一种更优雅的方法来执行此操作。
今天关于带有Python“请求”模块的代理和python内置的http请求库的讲解已经结束,谢谢您的阅读,如果想了解更多关于GraphQL查询带有Python请求的帖子、node.js:找不到模块“请求”、python – 有没有办法从导入的模块中获取“父”模块的名称?、Python-使用模块的名称(字符串)调用模块的函数的相关知识,请在本站搜索。
本文标签: