栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ArchLinux-table mirror 爬虫

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ArchLinux-table mirror 爬虫

import requests
from lxml import etree
from selenium import webdriver
#//lxml需要下载(pip install lxml)

def getone2( url):
    try:

        text = requests.get(url, timeout=2).text
        html = etree.HTML(text)
        #获取到网页中的html
        hrefs = html.xpath("//a/@href")
        f=open('ArchLinuxlist2.txt', 'a+')
        #f.write(url +'=================================n')
        for href in hrefs:
            if (str(href).endswith("iso")  ) :
                f.write(url + href+ 'n')
        f.close
    except Exception as e:
        print(url, str(e))


def getone( url):
    try:

        text = requests.get(url, timeout=2).text
        html = etree.HTML(text)
        #获取到网页中的html
        hrefs = html.xpath("//a/@href")
        f=open('ArchLinuxlist1.txt', 'a+')
        #f.write(url +'=================================n')
        for href in hrefs:
            if (str(href).find("20.04.3") > -1 ) :
                url1= url + href
                getone2(url1)
                f.write(url + href+ 'n')
        f.close
    except Exception as e:
        print(url, str(e))

url = "https://archlinux.org/mirrors/status/"
driver = webdriver.Chrome()
driver.get(url)
#header={"user-ange":"xxxxxx"}
#text = requests.get(url, headers=header).text
#text = requests.get(url).text
#html = etree.HTML(text)
#获取到网页中的html
#table = html.xpath('//*[@id="successful_mirrors"]')
#print(table)
table = driver.find_element_by_xpath('//*[@id="successful_mirrors"]')
rows = table.find_elements_by_tag_name('tr')
#print('rows:', rows)

f=open('ArchLinuxlist.txt', 'w')
#f=open('list.txt', 'a+')
#f.write('n'.join(hrefs))
#for href in hrefs:
for i in range(1, len(rows)):
    href = rows[i].find_elements_by_tag_name('td')[0].text
    #print(hrefs.index(href) + 1, len(hrefs), href)
    print(i, len(rows), href)
    #print(str(href).find("launchpad.net/"))
    if (str(href).find("centos.org") < 0 ) and (str(href).startswith('http')):
        f.write(href+'n')
        #getone(href)
        getone2(href+'iso/latest/')

f.close
driver.quit()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号