2016-08-04 27 views
-1

Ich habe begonnen Skript zu schreiben, wie unten erwähntPython-Skript für das Web von Web-Seiten Schaben für in ihm vorhanden Urls IP-Adresse zu finden

import urllib2 
from bs4 import BeautifulSoup 

trg_url='http://timesofindia.indiatimes.com/' 
req=urllib2.Request(trg_url) 
handle=urllib2.urlopen(req) 
page_content=handle.read() 
soup=BeautifulSoup(page_content,"html") 
new_list=soup.find_all('a') 


for link in new_list: 
    print link.get('href') 

aber jetzt habe ich stecken bin, wie ich bin unten genannte Ausgabe

bekommen
http://mytimes.indiatimes.com/?channel=toi 
https://www.facebook.com/TimesofIndia 
https://twitter.com/timesofindia 
https://plus.google.com/117150671992820587865?prsrc=3 
http://timesofindia.indiatimes.com/rss.cms 
https://www.youtube.com/user/TimesOfIndiaChannel 
javascript:void(0); 
http://timesofindia.indiatimes.com 
javascript:// 
http://beautypageants.indiatimes.com/ 
http://photogallery.indiatimes.com/ 
http://timesofindia.indiatimes.com/videos/entertainment/videolist/3812908.cms 
javascript:// 
/life/fashion/articlelistls/2886715.cms 
/life-style/relationship/specials/lsspeciallist/6247311.cms 
/debatelist/3133631.cms 

bitte mich leiten die verschiedenen URLs in Web-Seite und dort die IP-Adresse

+2

Können Sie bitte ausarbeiten? Was möchten Sie tun? – masnun

+0

Ich möchte URLs in der Webseite extrahieren und dort die IP-Adresse in einer Datei drucken. – user3806458

Antwort

-1

Verwenden Sie das Buchsenmodul erhalten die IP-Adresse zu extrahieren:

import urllib2 
from bs4 import BeautifulSoup 
import socket 
import csv 

trg_url='http://timesofindia.indiatimes.com/' 
req=urllib2.Request(trg_url) 
handle=urllib2.urlopen(req) 
page_content=handle.read() 
soup=BeautifulSoup(page_content,"lxml") 
new_list=soup.find_all('a') 

final_list = [] 
for link in new_list: 
    l = link.get('href') 
    try: 
     final_list.append([l,socket.gethostbyname(l.split('/')[2])]) 
    except: 
     final_list.append([l,[]]) 

with open('output.csv','wb') as f: 
    wr = csv.writer(f) 
    for row in final_list: 
     wr.writerow(row)