首页 > 解决方案 > 如何使用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)

我不知道如何实现服务器错误检查

标签: pythonparsingweb-scraping

解决方案


你可以做类似的事情。

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 的文件
  • 标题将包含网站标题列表

希望这可以帮助 :)


推荐阅读