一个python类,用作proxychraw抓取和抓取api的包装器
proxycrawl的Python项目详细描述
ProxyCrawl API Python类
一个轻量级的、无依赖关系的python类,充当proxychraw api的包装器。
安装
选择安装方式:
- 从github下载python类。
- 或者使用PyPipython包管理器。
pip install proxycrawl
然后导入ProxyCrawlAPI
Python2:
fromproxycrawlimportProxyCrawlAPI
Python3:
fromproxycrawl.proxycrawl_apiimportProxyCrawlAPI
类用法
首先初始化ProxyCrawlAPI类
api=ProxyCrawlAPI({'token':'YOUR_PROXYCRAWL_TOKEN'})
获取请求
传递您要删除的url以及API documentation中可用的选项。
api.get(url,options={})
示例:
response=api.get('https://www.facebook.com/britneyspears')ifresponse['status_code']==200:print(response['body'])
您可以从ProxyCrawl API传递任何选项。
示例:
response=api.get('https://www.reddit.com/r/pics/comments/5bx4bx/thanks_obama/',{'user_agent':'Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/30.0','format':'json'})ifresponse['status_code']==200:print(response['body'])
发布请求
传递要刮除的url、要发送的数据(可以是json或字符串)以及API documentation中可用的选项。
api.post(url,dictionaryorstringdata,options={})
示例:
response=api.post('https://producthunt.com/search',{'text':'example search'})ifresponse['status_code']==200:print(response['body'])
通过将选项post_content_type
设置为json,可以将数据发送为application/json
,而不是x-www-form-urlencoded
。
importjsonresponse=api.post('https://httpbin.org/post',json.dumps({'some_json':'with some value'}),{'post_content_type':'json'})ifresponse['status_code']==200:print(response['body'])
Javascript请求
如果你需要删除任何用javascript构建的网站,比如react、angular、vue等,你只需要传递javascript令牌并使用相同的调用。注意,只有.get
可用于javascript,而不是.post
。
api=ProxyCrawlAPI({'token':'YOUR_JAVASCRIPT_TOKEN'})
response=api.get('https://www.nfl.com')ifresponse['status_code']==200:print(response['body'])
同样,您可以传递javascript附加选项。
response=api.get('https://www.freelancer.com',{'page_wait':5000})ifresponse['status_code']==200:print(response['body'])
原始状态
您始终可以从响应获取原始状态和代理爬网状态。阅读ProxyCrawl documentation了解有关这些状态的更多信息。
response=api.get('https://craiglist.com')print(response['headers']['original_status'])print(response['headers']['pc_status'])
如果您有问题或需要使用库的帮助,请打开问题或contact us。
2019 ProxyCrawl版权所有