我在 python3 中使用带有请求包的漂亮汤来进行网页抓取。这是我的代码。
import csv
from datetime import datetime
import requests
import csv
from datetime import datetime
from bs4 import BeautifulSoup
quote_page = ['http://10.69.161.179:8080'];
data = []
page = requests.get(quote_page)
soup = BeautifulSoup(page.content,'html.parser')
name_box = soup.find('div', attrs={'class':'caption span10'})
name= name_box.text.strip() #strip() is used to remove starting and ending
print(name);
data.append(name)
with open('sample.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([name])
print ("Success");
Run Code Online (Sandbox Code Playgroud)
当我执行上述代码时,出现以下错误。
Traceback (most recent call last):
File "first_try.py", line 21, in <module>
page = requests.get(quote_page);
File "C:\Python\lib\site-packages\requests-2.13.0-py3.6.egg\requests\api.py", line 70, …Run Code Online (Sandbox Code Playgroud) 我正在学习一个教程,并坚持解析 requests.get() 的输出
我的目标是连接到下面的 API 以提取历史加密货币价格并将它们放入 Pandas 数据框以供进一步分析。
[API:https : //www.cryptocompare.com/api/#-api-data-histoday-]
这就是我所拥有的。
import requests
response = requests.get("https://min-api.cryptocompare.com/data/histodayfsym=ETC&tsym=USD&limit=10&aggregate=3&e=CCCAGG")
print(response.text)
Run Code Online (Sandbox Code Playgroud)
现在我想输出到一个数据帧...
pd.DataFrame.from_dict(response)
Run Code Online (Sandbox Code Playgroud)
但我明白了... PandasError: DataFrame 构造函数没有正确调用!
我在从我的一个烧瓶@app.route 创建和执行发布请求时遇到了一些问题。这个想法是验证和处理服务器从 Web 表单接收的数据,然后使用此数据作为 post 参数调用远程服务,最后重定向到此远程服务指示的新页面。这是一个简化的骨架:
import requests
@app.route('/test', methods=['POST'])
url = 'http://exemple.com'
headers = {'Content-type': 'text/html; charset=UTF-8'}
response = requests.post(url, data=data, headers=headers)
return x
Run Code Online (Sandbox Code Playgroud)
关于我应该如何使用发布请求将用户重定向到远程服务的任何提示(用户将再次被远程服务重定向到另一个页面)?
先感谢您。
嘿,我刚刚做了一些研究,发现我可以从以filename.extension结尾的 url 下载图像,例如000000.jpeg。我现在想知道如何下载没有任何扩展名的图片。这是我想下载图片的网址 http://books.google.com/books/content?id=i2xKGwAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api 当我将网址直接放入浏览器时,它会显示一张图片
此外,这是我尝试过的:
from six.moves import urllib
thumbnail='http://books.google.com/books/content?id=i2xKGwAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api'
img=urllib.request.Request(thumbnail)
pic=urllib.request.urlopen(img)
pic=urllib.request.urlopen(img).read()
Run Code Online (Sandbox Code Playgroud)
Anyhelp将不胜感激
我有两个 python 应用程序使用 web.py 在不同的端口上运行。我正在尝试将 30,000-40,000 个字符范围内的 JSON 字符串从一个应用程序发送到另一个应用程序。JSON 包含生成 powerpoint 报告所需的所有信息。我尝试使用以下请求启用此通信:
import requests
template = <long JSON string>
url = 'http://0.0.0.0:6060/api/getPpt?template={}'.format(template)
resp= requests.get(url).text
Run Code Online (Sandbox Code Playgroud)
我注意到在接收端,json 已被截断为 803 个字符长,因此当它解码 JSON 时,我得到:
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 780 (char 779)
Run Code Online (Sandbox Code Playgroud)
我认为这必须限制 URL 请求的长度,来自 web.py 或请求,或者这是标准化的事情。有没有办法解决这个问题,或者我需要找到另一种方式来启用这两个 python 应用程序之间的通信。如果无法通过 http 发送这么长的 JSON,请您提出替代方案。谢谢!
我有 Java spring 服务器,它要求Content-Type发送到服务器的请求为multipart/form-data.
我可以使用邮递员正确地向服务器发送请求:
但是,The current request is not a multipart request尝试requests在python3中使用模块发送请求时出错。
我的python代码是:
import requests
headers = {
'Authorization': 'Bearer auth_token'
}
data = {
'myKey': 'myValue'
}
response = requests.post('http://127.0.0.1:8080/apiUrl', data=data, headers=headers)
print(response.text)
Run Code Online (Sandbox Code Playgroud)
如果我添加'Content-Type': 'multipart/form-data'到请求的标头,则错误消息将变为Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found.
如何发出与邮递员使用 python 发送的请求相同的请求?
在一些教程中,对于从 DateTime 导入 DateTime 的语法,提到从 DateTime 模块导入 DateTime 对象。有人说从 DateTime 包中导入 DateTime 模块。
谁能解释正确的信息?
我有一个非常特殊的问题。特别是,我想检索以下网站的内容: https://www.mycardtamoil.it/
据我了解,该网站的 SSL 证书存在一些问题。如果您在 Chrome 中打开它,则没有问题,但是如果您尝试通过 cURL ( curl https://www.mycardtamoil.it/)检索内容,则会在 ssl 上收到错误,该错误可以使用该选项绕过-k
当我转向 Python3 时,我无法绕过这个问题;我测试过的代码是:
import requests
response = requests.get('https://www.mycardtamoil.it/', verify=False)
Run Code Online (Sandbox Code Playgroud)
但我得到以下期望:
-------------------------------------------------- ------------------------- SysCallError Traceback (最近一次调用最后一次) C:\ProgramData\Anaconda3\lib\site-packages\urllib3\contrib\ pyopenssl.py in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname) 440 try: --> 441 cnx.do_handshake() 442 除了 OpenSSL.SSL.WantReadError:
C:\ProgramData\Anaconda3\lib\site-packages\OpenSSL\SSL.py in do_handshake(self) 1906 result = _lib.SSL_do_handshake(self._ssl) -> 1907 self._raise_ssl_error(self._ssl, result) 1908
C:\ProgramData\Anaconda3\lib\site-packages\OpenSSL\SSL.py in _raise_ssl_error(self, ssl, result) 1631 raise SysCallError(errno, errorcode.get(errno)) -> 1632 raise SysCallError(-1, "意外的 EOF") 1633 否则:
SysCallError: (-1, '意外的 EOF') …
我一直在尝试向使用 Flask 构建的本地服务器发送请求。请求是使用requestspython 模块发送的。
我不知道该requests.post功能是否已被弃用并引入了新功能,或者我的代码是否有任何问题。我已经完全按照本文中所说的做了所有事情。
这是我的代码:
import requests
host_url = "http://127.0.0.1:5000"
# get the data
data_for_prediction = [int(input()) for _ in range(10)]
r = requests.post(url=host_url,json={data_for_prediction})
print(r.json())
Run Code Online (Sandbox Code Playgroud)
我在上面的代码中得到的错误是:
Traceback (most recent call last):
File "C:/Users/--/requests.py", line 1, in <module>
import requests
File "C:\Users\--\requests.py", line 8, in <module>
r = requests.post(url=host_url,json={data_for_prediction})
AttributeError: module 'requests' has no attribute 'post'
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
我的服务器代码是:
flask_server_app = Flask(__name__)
# let's make the server now
@flask_server_app.route("/api/predict", methods=["GET", …Run Code Online (Sandbox Code Playgroud) 我正在使用 beautifulsoup 和 requests 制作股票指数网络爬虫,但我无法弄清楚是什么阻止了连接。
这是我的代码:
from bs4 import BeautifulSoup
import requests
def scraper(link):
response = requests.get(link, verify=False)
soup = BeautifulSoup(response.content, 'html.parser')
company = soup.find(class_="D(ib) ").get_text()
response.close()
return company
def main():
ticker = input("Input stock ticker symbol:")
site = ("http://finace.yahoo.com/quote/" + ticker.upper().strip())
data = scraper(site)
print(data)
main()
Run Code Online (Sandbox Code Playgroud)
这是例外:
C:\Python37-32\python.exe C:\Users\lucas\CS\Final_Project\Stock_Index_Scraper.py
Input stock ticker symbol:tsla
Traceback (most recent call last):
File "C:\Python37-32\lib\site-packages\urllib3\connection.py", line 157, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "C:\Python37-32\lib\site-packages\urllib3\util\connection.py", line 61, in create_connection
for res in socket.getaddrinfo(host, port, …Run Code Online (Sandbox Code Playgroud) python-requests ×10
python ×9
python-3.x ×5
flask ×2
curl ×1
http-headers ×1
java ×1
json ×1
localhost ×1
pandas ×1
python-2.7 ×1
rest ×1
spring ×1
ssl ×1
stream ×1
web.py ×1