首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python解析来自http请求的文本响应

用Python解析来自http请求的文本响应
EN

Stack Overflow用户
提问于 2017-08-30 07:56:18
回答 3查看 21.3K关注 0票数 9

我试图从APU中获取数据,但作为响应,我得到了纯文本。我想逐行阅读所有的文本。

这是url变量:http://www.amfiindia.com/spages/NAVAll.txt?t=23052017073640

第一段:

代码语言:javascript
运行
复制
from pymongo import MongoClient
import requests
from bs4 import BeautifulSoup as bs
url = "https://www.amfiindia.com/spages/NAVAll.txt?t=23052017073640"
request = requests.get(url)
soup = bs(request.text,"lxml")
for line in soup:
    print line
    break

结果:它打印出整个文本

第二段:

代码语言:javascript
运行
复制
request = requests.get(url)
for line in request.text():
    print line
    break

结果:它打印出一个字符

代码语言:javascript
运行
复制
request = requests.get(url)
requestText = request.text()
allMf = requestText.splitlines()

结果:异常:'unicode‘对象不可调用

我尝试过很少的案例,但无法逐行阅读文本。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-30 08:02:27

request.text是一个属性而不是一个方法,request.text返回一个unicode字符串,request.text()抛出错误'unicode' object is not callable

代码语言:javascript
运行
复制
for line in request.text.splitlines():
    print line
票数 15
EN

Stack Overflow用户

发布于 2017-08-30 08:13:36

代码语言:javascript
运行
复制
import requests
from bs4 import BeautifulSoup as bs
url = "https://www.amfiindia.com/spages/NAVAll.txt?t=23052017073640"
request = requests.get(url)
soup = bs(request.text,"lxml")

# soup.text is to get the returned text
# split function, splits the entire text into different lines (using '\n') and stores in a list. You can define your own splitter.
# each line is stored as an element in the allLines list.
allLines = soup.text.split('\n') 

for line in allLines: # you iterate through the list, and print the single lines
    print(line)
    break # to just print the first line, to show this works
票数 1
EN

Stack Overflow用户

发布于 2017-08-30 08:08:04

试试这个:

代码语言:javascript
运行
复制
from pymongo import MongoClient
import requests
from bs4 import BeautifulSoup as bs
url = "https://www.amfiindia.com/spages/NAVAll.txt?t=23052017073640"
request = requests.get(url)
soup = bs(request.text,"lxml")
for line in soup:
    print line.text
    break
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45954949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档