hanyu.baidu.com上的python2 urllib请求

时间:2018-03-11 08:57:50

标签: python urllib

我想创建一个python脚本,它正在解析来自网站hanyu.baidu.com的中文字符的发音。

我找到了一个代码,可以在baidu.com的主站点进行搜索

#!/usr/bin/env python2
# -*- coding: utf-8 -*-  
import urllib2,urllib,sys,io  

url = "http://www.baidu.com/s" 
search = [('w','吃')]  
getString = url + "?" + urllib.urlencode(search)  
print getString
req = urllib2.Request(getString)  
fd = urllib2.urlopen(req)

返回网站的html代码

  

http://www.baidu.com/s?w=%E5%90%83

这就是我的预期。但是当我将网址更改为

url = "https://hanyu.baidu.com/s"

以及

的论据
search = [('wd','吃')]  

我想获得网站的结果

  

https://hanyu.baidu.com/s?wd=%E5%90%83

但是python会返回一个页面,它表示我指的是一个不存在的页面(中文:很抱歉,你要访问的页面不存在!)

为什么我可以在浏览器中打开网址,但不能使用python打开网址?

1 个答案:

答案 0 :(得分:0)

在请求中添加标题,伪造浏览器,解决了问题。

req.add_header('User-Agent','Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.27 Safari/537.17')