Форум сайта python.su
0
Я совсем недавно начал писать на питоне, вот простой пример и не работает:
#!/usr/bin/python # -*- coding: utf-8 -*- import string import sys import urllib print '''Content-type: text/html ''' print '11111' url = "http://google.com" sock = urllib.urlropen(url) html = sock.read() sock.close() print html #<!--order=085-->
Офлайн
52
mr_freemanЭто что такое?
urllib.urlropen
Офлайн
20
Ну и как минимум желательно изменить user-agent-string. Потому как google “не любит” запросы из python 
>>> x=urllib.urlopen('http://www.google.com/search?q=dd') >>> x <addinfourl at 45007688L whose fp = <socket._fileobject object at 0x0000000002AD 9DE0>> >>> x.read() '<!DOCTYPE html><html lang=en> ... <ins>That\xe2\x80\x99s an e rror.</ins><p>Your client does not have permission to get URL <code>/search?q=dd </code> from this server.
>>> import urllib2
>>> x=urllib2.urlopen('http://www.google.com/search?q=dd')
...
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
>>> x=urllib2.build_opener() >>> x.addheaders.__doc__ "list() -> new empty list\nlist(iterable) -> new list initialized from iterable' s items" >>> x.addheaders = ( ('User-agent',"I'm Perl, not Python!!!"), ) >>> x <urllib2.OpenerDirector instance at 0x0000000002931D88> >>> y=x.open('http://www.google.com/search?q=dd') >>> y.read() '<!doctype html> ... Dd_(Unix)&sa=U&ei=YzgHUOPFFNDP4QSypf2ACQ&ved=0CBsQFjAA&usg=A FQjCNFosd2zxSX1IrcI-8VRY-J_IwEZ8g"><b>dd</b> (Unix) - Wikipedia, the free encycl opedia</a></h3><div class="s">In computing, <b>dd</b> is a common Unix program w hose primary purpose is the low-<br> level copying and conversion of raw data.
Отредактировано EBFE (Июль 19, 2012 01:53:46)
Офлайн
52
requests ;)
Офлайн
0
fata1exСоря, прост под вечер голова не варила, ничего не заметил(mr_freemanЭто что такое?
urllib.urlropen
Отредактировано mr_freeman (Июль 19, 2012 16:56:43)
Офлайн
14
EBFEНу ни хрена себе.
Потому как google “не любит” запросы из python
Офлайн