使用网站地图sitemap获取链接来随机访问链接-Python2.7脚本
首先在本机或服务器上部署Python2.7环境
创建一个py文件,把以下代码存放在其中
需要先配置网站地图
最近想弄个sitemap.xml网站地图文件,不用插件的方法网上有很多相关的代码,但其实好多并不好用。
有的……
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import random
import threading
import time
# 获取全站链接
def get_all_links():
# 使用网站地图来获取全站链接
url = 'http://www.daloong.cn/sitemap.xml'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
links = [loc.text for loc in soup.find_all('loc')]
return links
# 随机访问链接
def visit_link(link):
try:
response = requests.get(link)
if response.status_code == 200:
print('访问成功:', link)
else:
print('访问失败:', link)
except:
print('访问异常:', link)
# 多线程访问链接
def visit_links(links):
while True:
random_link = random.choice(links)
visit_link(random_link)
time.sleep(1)
# 主函数
def main():
while True:
links = get_all_links()
num_threads = 10 # 线程数
threads = []
for _ in range(num_threads):
t = threading.Thread(target=visit_links, args=(links,))
threads.append(t)
t.start()
# 每10分钟重新获取一次全站链接
time.sleep(600)
# 终止所有线程
for t in threads:
t.join()
if __name__ == '__main__':
main()
然后执行命令即可,停止脚本使用Ctrl+C,可能需要等待一小段时间,直到脚本进程完全停止。
如果脚本没有响应或无法停止,请尝试使用终端的其他终止命令,如Ctrl+Z或Ctrl+\。
Python #文件名.py
版权声明:
作者:Daloong
链接:https://www.daloong.cn/?p=461
来源:This is Daloong's blog
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
使用网站地图sitemap获取链接来随机访问链接-Python2.7脚本
首先在本机或服务器上部署Python2.7环境
创建一个py文件,把以……

共有 0 条评论