Python HTML源代码

时间:2016-10-17 16:36:27

标签: python python-3.x

我想编写一个脚本,从源代码中选择一个特殊点并返回它。 (打印出来)

import urllib.request                           

Webseite = "http://myip.is/"                    
html_code = urllib.request.urlopen(Webseite)

print(html_code.read().decode('ISO-8859-1'))

这是我目前的代码。 我想只打印网站提供的IP地址。 我将在python中输入(title =" copy ip address")。

3 个答案:

答案 0 :(得分:0)

您可以使用jsonip返回一个JSON对象,您可以使用标准Python库轻松解析该对象

import json
from urllib2 import urlopen

my_ip = json.load(urlopen('http://jsonip.com'))['ip']

答案 1 :(得分:0)

import requests
from bs4 import BeautifulSoup

s = requests.Session()
r = s.get('http://myip.is/')

soup = BeautifulSoup(r.text, "html5lib")
myIP = mySoup.find('a', {'title': 'copy ip address'}).text
print(myIP)

这使用请求库(您应该始终用于HTTP请求)来拉取页面,将内容提供给BeautifulSoup,这是一个非常好的HTML解析器,并要求BeautifulSoup查找单个<a>标记,将atrtibuet title设置为“copy ip address”,然后将该标记的文本组件保存为myIP

答案 2 :(得分:0)

您可以使用正则表达式查找IP地址:

import urllib.request
import re

Webseite = "http://myip.is/"
html_code = urllib.request.urlopen(Webseite)

content = html_code.read().decode('ISO-8859-1')
ip_regex = r'(?:[0-9]{1,3}\.){3}[0-9]{1,3}'

ips_found = re.findall(ip_regex, content)
print(ips_found[0])