Ich habe versucht, den Titel der Websites zu bekommen. Also, habe ich diese Schnipsel dieses Dies funktioniert perfektnicht scrape Text
sys.stdout = open("test_data.txt", "w")
url2 = "https://www.google.com/"
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A'}
req = urllib2.Request(url2, None, headers)
req.add_header('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')
html = urllib2.urlopen(req, timeout=60).read()
soup = BeautifulSoup(html)
# Extract title
list1 = soup.title.string
print list1.encode('utf-8')
zu tun und gibt Google als Titel und spült die Ausgabe an test_data.txt.
Aber wenn ich versuche, den gleichen Code wie ein Web-Service auszuführen, funktioniert es nicht. Ich bekomme eine leere Textdatei. Ich schlage diese URL diesen Web-Dienst auf dem lokalen http://0.0.0.0:8881/get_title
from bottle import route, run, request
@route('/get_title')
def get_title():
sys.stdout = open("test_data.txt", "w")
url2 = "https://www.google.com/"
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A'}
req = urllib2.Request(url2, None, headers)
req.add_header('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')
html = urllib2.urlopen(req, timeout=60).read()
soup = BeautifulSoup(html)
# Extract title
list1 = soup.title.string
print list1.encode('utf-8')
if __name__ == "__main__":
run(host='0.0.0.0', port=8881, debug=True)
Eine andere Sache zu laufen, die mich noch mehr Angst gemacht hat, wenn ich den Web-Service für msn.com laufen, es funktioniert gut für beiden Schnipsel (sogar der Webservice).
Jede Hilfe wäre dankbar !!
aber warum funktioniert es dann für andere URLs wie msn.com? – x0v