首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python 3中隔离HTML页面的一部分

如何在Python 3中隔离HTML页面的一部分
EN

Stack Overflow用户
提问于 2016-07-17 11:02:11
回答 2查看 108关注 0票数 2

我制作了一个简单的脚本来检索页面的源代码,但是我想“隔离”ips的部分,以便可以保存到proxy.txt文件中。有什么建议吗?

代码语言:javascript
复制
import urllib.request

sourcecode = urllib.request.urlopen("https://www.inforge.net/xi/threads/dichvusocks-us-15h10-pm-update-24-24-good-socks.455588/")
sourcecode = str(sourcecode.read())
out_file = open("proxy.txt","w")
out_file.write(sourcecode)
out_file.close()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-18 06:26:36

我在您的代码中添加了几行代码,唯一的问题是UI版本(检查页面源代码)是作为IP地址添加的。

代码语言:javascript
复制
import urllib.request
import re

sourcecode = urllib.request.urlopen("https://www.inforge.net/xi/threads/dichvusocks-us-15h10-pm-update-24-24-good-socks.455588/")
sourcecode = str(sourcecode.read())
out_file = open("proxy.txt","w")
out_file.write(sourcecode)
out_file.close()

with open('proxy.txt') as fp:
    for line in fp:
        ip = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', line)

for addr in ip:
    print(addr)

更新:--这就是您要寻找的内容,BeatifulSoup只能使用CSS类从页面中提取我们需要的数据,但是它需要安装pip。您不需要将页面保存到文件中。

代码语言:javascript
复制
from bs4 import BeautifulSoup
import urllib.request
import re

url = urllib.request.urlopen('https://www.inforge.net/xi/threads/dichvusocks-us-15h10-pm-update-24-24-good-socks.455588/').read()
soup = BeautifulSoup(url, "html.parser")

# Searching the CSS class name
msg_content = soup.find_all("div", class_="messageContent")

ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', str(msg_content))

for addr in ips:
    print(addr)
票数 1
EN

Stack Overflow用户

发布于 2016-07-17 22:04:46

为什么不使用re?我需要源代码来说明到底是怎么回事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38420505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档