当我使用urllib
和urllib2
访问网络时news.google.com
并尝试使用以下内容发送一些获取请求:
import urllib2
import urllib
data = {}
data['output'] = 'rss'
data['num'] = 1
url_val = urllib.urlencode(data)
url = 'https://news.google.com/'
ful_url = url + '?' + url_val
data_rec = urllib2.urlopen(ful_url)
print(data_rec)
它显示如下错误:<addinfourl at 43609384 whose fp = <socket._fileobject object at 0x02989A30>>
但是当我使用像
这样的东西时import urllib2
import urllib
url = "news.google.com/?output=rss&num=1"
data_rec = urllib2.urlopen(url)
print(data_rec)
有效!但为什么第一种方法不起作用?
答案 0 :(得分:1)
您的第二个示例实际上与您的第一个示例相同。结果不是错误,而只是urllib连接的字符串表示。
要打印资源的内容,您需要从连接中读取数据:
print(data_rec.read())