python获取网页内容比浏览器查看源码少?
本帖最后由 chuanjiesun 于 2014-02-20 15:45 编辑我使用python3.3,来获取网页内容,但是发现浏览器显示有的内容,在python的urlopen返回里没有,这是什么原因导致?
from bs4 import BeautifulSoup as beautifulsoup
from urllib import request
url = 'http://cirt.net/passwords?vendor=Huawei Technologies Co'
req = request.urlopen(url)
resp = req.read()
resp_decode = resp.decode()
print(resp_decode)
我在浏览器源码里可以看到<tr><td align=left valign=top width=300><b>Password</b></td><td align=left width=85%>admin</td></tr>
这样的内容,但是在resp响应里面没有了,这是什么原因导致的,请大家一起想个办法解决。 回复 1# chuanjiesun
URL需要转义,浏览器会自动转,Python不管这事。>>> from urllib import request, parse
>>> parse.quote('Huawei Technologies Co')
'Huawei%20Technologies%20Co'
>>> url = 'http://cirt.net/passwords?vendor=' + parse.quote('Huawei Technologies Co')
>>> req = request.urlopen(url)
>>> resp = req.read()
>>> resp.find(b'<td align=left width=85%>admin</td>')
10611
>>> resp
b'</b></td><td align=left width=100%>admin</td></tr>\n<tr><td align=left valign=top width=300><b>Password</b></td><td align=left width=85%>admin</td></tr>\n<tr><td align=left valign=top width=300><b>Level</b></td><td align=left width=100%>Administrator</td></tr>\n<tr><td align=left valign=top width=300><b>Notes</b></td><td align=left width=100%>Also: Admin/admin</td></tr></table>\n<br><table border=0 width=95%>\n <tr><td colspan=2 bgcolor="#E6E6E6"><a name="1823"></a><h3><b>2. Huawei Techn'
>>> 果然是的,谢谢啊回复 2# timespace
页:
[1]