我从来没有做过任何面向对象的编程,只做过基本的脚本编写.
我正在玩弄着问候
rs = (grequests.get('https://api.github.com/repositories?since='+str(page), auth=(login, password)) for page in pages)
blah = grequests.map(rs)
print type(blah[0])
Run Code Online (Sandbox Code Playgroud)
回应是:
<class 'requests.models.Response'>
Run Code Online (Sandbox Code Playgroud)
通常我将响应转换为文本,然后将其加载到json中,以便我可以解析它,但我不能用这个响应做到这一点.
我理解类的概念但没有使用它们或者知道如何处理该响应.
有没有办法可以将它转换成json?
当我打印来自我抓取的网站的字符串(Python)时,它看起来像这样:
"His this
is
a sample
String"
Run Code Online (Sandbox Code Playgroud)
它不显示\n中断。这是我在 Python 解释器中看到的。
我想将其转换为 HTML,并添加换行符。我环顾四周,没有看到任何库可以开箱即用地执行此操作。
我在想 BeautifulSoup,但不太确定。
我有这个链接:
__CODE__
我如何使用BeautifulSoup专门找到包含单词location"location"的链接?
我正在关注 Dan Abramov 的 Redux 教程。(https://egghead.io/lessons/javascript-redux-avoiding-object-mutations-with-object-assign-and-spread)
在第 9 课中,他介绍了测试和使用expect以及.toEqual()
这是我的代码:
var expect = require('chai').expect;
var freeze = require('deep-freeze-node');
const testToggleTodo = () => {
const todoBefore = {
id: 0,
text: 'Learn Redux',
completed: false
};
const todoAfter = {
id: 0,
text: 'Learn Redux',
completed: true
};
expect(
toggleTodo(todoBefore)
).toEqual(todoAfter)
}
testToggleTodo();
console.log('All tests passed.')
Run Code Online (Sandbox Code Playgroud)
我不断收到错误消息:
.../react_redux/src/a.js:24
).toEqual(todoAfter)
^
TypeError: expect(...).toEqual is not a function
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我正在逐字复制他的代码,但这会导致错误。
我目前正在使用 Gmail API。
https://developers.google.com/gmail/api/v1/reference/users/messages/get
有谁知道如何找到电子邮件ID?
谢谢!
我正在对Gmail中的Rapportive API进行一些逆向工程.
我提出这个要求
import requests
url ='https://api.linkedin.com/uas/js/xdrpc.html'
r = requests.get(url)
print r.text
Run Code Online (Sandbox Code Playgroud)
响应是一个空的HTML文件,里面有很多Javascript.在第3661行,它为后续调用Rapportive设置RequestHeader:
ak.setRequestHeader("oauth_token", ae);
Run Code Online (Sandbox Code Playgroud)
有没有办法可以请求该页面然后返回ae?
这是我在 Google App Engine 上运行的 Python 脚本:
import webapp2
form = """
<form action="/testform">
<input name="q">
<input type="submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers.add_header("Access-Control-Allow-Origin", "*")
self.response.write(form)
class TestHandler(webapp2.RequestHandler):
def get(self):
q = self.request.get("q")
self.response.out.write(q)
print(q)
app = webapp2.WSGIApplication([
('/', MainPage),
('/testform', TestHandler)],
debug=True)
Run Code Online (Sandbox Code Playgroud)
我正在控制台上运行 AJAX 以查看是否可以让两者相互交谈。
$.ajax({
type: 'GET',
url: url,
})
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个错误:
jquery.min.js:4 GET https://localhost:8080/testform?q=somethingnew1 net::ERR_SSL_PROTOCOL_ERROR
Run Code Online (Sandbox Code Playgroud)
我试过谷歌搜索它,但不确定它是什么意思。任何人都可以就我做错了什么以及我应该如何解决它提出一些建议吗?
谢谢!
我正在尝试使用 react-bootstrap 来设计网页样式。
包.json
{
"name": "chrome-ui",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.0.0",
"react-dom": "^16.0.0",
"react-scripts": "1.0.16"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"devDependencies": {
"react-bootstrap": "^0.31.5"
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序.js
import React from 'react';
import { Button } from 'react-bootstrap'
function CheckState(props){
function handleClick(e){
console.log(props.state)
}
return(
<Button bsStyle="primary" onClick={handleClick}>Click for state</Button>
)
}
Run Code Online (Sandbox Code Playgroud)
但是,这是我刷新时在网页上看到的内容:
看起来好像没有添加样式。我究竟做错了什么?
我的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="google-signin-client_id" content= "my_client_id.apps.googleusercontent.com">
<meta name="google-signin-scope" content="profile email">
<script src="https://apis.google.com/js/client:platform.js?onload=start" async defer></script>
<script>
function start() {
console.log('script running')
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: 'my_client_id.apps.googleusercontent.com',
scope: 'profile email'
});
});
}
</script>
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在该start()函数中,我打印到控制台以查看其运行时间。
当我加载页面时,经常start()会在 react组件之后加载。
Login.js
componentDidMount() {
console.log(gapi.auth2.getAuthInstance())
}
Run Code Online (Sandbox Code Playgroud)
在调试器中,您可以看到脚本正在组件之后加载:
如果我刷新页面几次,则可以正常工作。但是有时它起作用,有时却不起作用。
为什么?
我有这个样本数据集:
let list = [
{'first': 'morgan', 'id': 1},
{'first': 'eric', 'id': 1},
{'first': 'brian', 'id': 2 },
{'first': 'derek', 'id' : 2},
{'first': 'courtney', 'id': 3},
{'first': 'eric', 'id': 4},
{'first': 'jon', 'id':4},
]
Run Code Online (Sandbox Code Playgroud)
我想结束这个:
[[1, [morgan, eric]], [2, [brian, derek]], [3, [courtney]], [4, [eric, jon]]
Run Code Online (Sandbox Code Playgroud)
我正在使用该.reduce()函数来映射列表.但是,我有点卡住了.
我有这个工作:
let b = list.reduce((final_list, new_item) => {
x = final_list.concat([[new_item.id, [new_item.first]]])
return x
}, [])
Run Code Online (Sandbox Code Playgroud)
但是,这会将列表展平为列表列表,但不会合并共享相似ID的名称.
我尝试使用.map() 下面的代码不起作用
我试图映射到final_list(这是[id,[names]]的列表,看看是否new_item存在的id smaller_list然后添加new_item.first到smaller_list[1](应该是名称列表).
这是正确的方法吗? …