搜外网>搜外问答>问答页面

有没有好用的sitemap抓取工具啊,网上的都不靠谱啊,抓不全

有没有好用的sitemap抓取工具啊,网上的都不靠谱啊,抓不全

追加问题
    5 人参与回答
好人一起好报吧
好人一起好 · 嘻嘻,低着头,接受嘲讽

爱站工具包就好了

闪赚客
闪赚客 · 致力于分享手机赚钱软件丨手机赚钱项目

抓不全是否是因为你的目录太深了呢?

爱站工具包,  其实最需要的是抓取后还能判定是否被收录。目前我在寻找这样的软件。

在路上
在路上 · Python渣渣,个人微信公众号:二爷记

如果你能看懂代码,这里给出一个参考例子!

文件是严格按照xml语言编写的网站地图,用来引导搜索蜘蛛对本站点文章等内容的索引,它是由google提出来的概念。

链接提交

使用说明

链接提交工具是网站主动向百度搜索推送数据的工具,本工具可缩短爬虫发现网站链接时间,网站时效性内容建议使用链接提交工具,实时向搜索推送数据。本工具可加快爬虫抓取速度,无法解决网站内容是否收录问题

百度搜索资源平台为站长提供链接提交通道,您可以提交想被百度收录的链接,百度搜索引擎会按照标准处理,但不保证一定能够收录您提交的链接。

xml格式地图

xml文件格式:

<urlset xmlns="">

<url>

<loc>在路上-又一个WordPress站点</loc>

<lastmod>2019-04-09</lastmod>

</url>

<url>

<loc>...</loc>

<lastmod>2019-04-09</lastmod>

</url>

...

...

那么,我们应用python如何制作格式文件呢?

制作思路:

第一步:爬取所有url链接

第二步:统计去重

第三步:制作xml格式文件

第四步:导出文件/保存文件

这里我测试了 set 和 list,大家可以对比参照一下!

去重是使用set()

​完整源码:

#XML格式地图制作
#20200313 by 微信:huguo00289
# -*- coding: UTF-8 -*-

import requests,re,time


#获取页面上的所有链接
def get_urllist(url):
lilist=[]

headers={
'User-Agent':'Mozilla/ (Windows NT WOW64) APPleWebKit/ (KHTML, like Gecko) Chrome/ Safari/'
}


html=(url,headers=headers).('utf-8')
ure=r'href="(.+?)"'
urllist=(ure,html,)
print(len(urllist))
print(urllist)
for li in urllist:
if ".html" in li:
if "www." in li:
if "?" not in li:
print(li)
(li)

print(len(lilist))
lilist=set(lilist) #去重,run1开启,run2不开启
print(len(lilist))
return lilist


#xml格式制作
def xmlzz(urllist):
xmlwj='<urlset xmlns="">\n'
xmlg=""
for url in urllist:
xmlgs=f'<url>\n<loc>{url}</loc>\n<lastmod>{("%Y-%m-%d", ())}</lastmod>\n</url>\n'
xmlg="%s%s"%(xmlg,xmlgs)
#print(xmlg)
xmlwj="%s%s%s"%(xmlwj,xmlg,"</urlset>")
print(xmlwj)
return xmlwj

#保存文件
def bc(sj):
with open("",'w',encoding='utf-8') as f:
(sj)
print(">>>保存文件网站地图成功!")

def run1(url):
hreflist = set()
url = ""
lilist = get_urllist(url)
for li in lilist:
lis = get_urllist(li)
hreflist = (lis) # 求并集
print(len(hreflist))

hreflist = (lilist)
print(len(hreflist))
(url)
print("_" * 50)
print(hreflist)
print("_" * 50)
print(len(hreflist)) #465
sj=xmlzz(hreflist)
bc(sj)


def run2(url):
hreflist =[]
lilist = get_urllist(url)
for li in lilist:
lis = get_urllist(li)
(lis) # 求并集
print(len(hreflist))

(url)
print("_" * 50)
print(len(hreflist))
hreflist=set(hreflist)
print("_" * 50)
print(len(hreflist))

if __name__=='__main__':
url=""
run1(url)
网络优化
网络优化 · 网站 平面设计 视频制作

我用的是爱站的

SEO培训招生中
189