python - 如何使用python解析网站的标题?
问题描述
我是 python 新手,无法理解如何实现以下任务。有一个 txt 文件,其中以大写形式存储了域(大约 10,000 个域)。必要:
- 将域地址转换为小写
- 在域的开头添加字符串'http://',以便将域插入到请求中
- 进行循环,以便解析器从每个域(站点)
- 将所有内容写入具有两个字段的文件表 | 网址 | 网站标题 |
事情就是这样:
import requests
from bs4 import BeautifulSoup as bs
f = open(r'file.txt','r+')
a=[]
for i in f:
a.append(i.lower().replace('\n',''))
a[-1]='http://'+a[-1]
f.close()
title_list=[]
for url in a:
try:
r=requests.get(url)
page=bs(r.content,'html.parser')
title=page.find('title')
title_list.append(url)
title_list.append(title.text.replace('\n',''))
except Exception as e:
print(e)
print(title_list)
我不知道如何实现服务器错误检查
解决方案
你可以做类似的事情。
import urllib2
from BeautifulSoup import BeautifulSoup
file = open('urllist.txt', 'r')
urlList = file.readlines()
file.close()
titles = []
for url in urlList:
soup = BeautifulSoup(urllib2.urlopen('https://' + url.lower()))
titles.append(soup.title.string)
笔记:
- 'urllist.txt' 是包含 URL 的文件
- 标题将包含网站标题列表
希望这可以帮助 :)
推荐阅读
- java - 在 android studio 中使用 Dexter 获取位置
- c# - WriteableBitmap 不能在 Linux 上渲染,但适用于 UWP 和 Wasm
- python - Python PyInquirer - 输入后的操作
- docker - 在 Hyperledger Fabric 中创建和启动应用程序通道的正确方法是什么?(已编辑)
- wpf - InvalidatePlot 上 WPF 中大数据的 OxyPlot 性能问题
- java - Agora 发布流无法正常工作
- javascript - Div 在聊天中没有溢出
- c++ - 使用“new []”分配和仅使用“delete”删除会发生什么
- python - 分隔数组中的每个项目
- typescript - 为什么打字稿函数参数类型推断失败?