吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1762|回复: 5
收起左侧

[Python 原创] python实现抓取某站的sitemap.xml,获取url、title和描述

  [复制链接]
头像被屏蔽
oneai 发表于 2023-5-29 15:22
提示: 作者被禁止或删除 内容自动屏蔽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Klock0828 发表于 2023-5-29 18:36
感谢分享,论坛因你而精彩!
806785900 发表于 2023-5-29 20:39
感谢楼主分享,用xpath解析重写一下!
[Python] 纯文本查看 复制代码
import requests
import re
import parsel

# 请求XML文件
url = 'https://www.xxxxxxxxxxxxxxxx/sitemap.xml'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)

# 解析XML文件
selector = parsel.Selector(response.text)
urls = selector.xpath('//loc/text()').getall()

# 匹配URL的后缀名为.html的网页并获取title、description和keywords
pattern = re.compile(r'.*\.html$')
for url in urls:
    if re.match(pattern, url):
        response = requests.get(url, headers=headers)
        selector = parsel.Selector(response.text)
        title = selector.css('title::text').get()
        keywords = selector.xpath('//meta[@name="keywords"]/@content')
        description = selector.xpath('//meta[@name="description"]/@content')

        # 保存到txt文件
        with open('output.txt', 'a', encoding='utf-8') as f:
            f.write('Title: {}\n'.format(title))
            f.write('Keywords: {}\n'.format(keywords.get()))
            f.write('Description: {}\n'.format(description.get()))
            f.write('URL: {}\n\n'.format(url))

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
89684828 + 1 + 1 用心讨论,共获提升!

查看全部评分

Alexwhich 发表于 2023-5-29 22:25
jiuzhou888 发表于 2023-5-30 16:19
学习了,感谢大神的原创,必须顶上去。
echoaku 发表于 2023-5-30 16:30
不错,实用,收藏了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表