python实战-批量查询网站权重

文章目录
  • 一、前言
    二、代码实现
    1. 安装所需要的库
    2. 具体实现
    三、实现效果
    1. 单条查询
    2. 多条查询
    四、总结
一、前言

刷SRC时,必不可少的就是信息收集环节,要查看域名的权重来判断是否符合平台提交规则,一个一个手动复制域名去查询很是麻烦,所以通过 python爬虫的形式,实现单个查询与批量查询的脚本工具,这样能大大简化我们工作量,提高效率。

二、代码实现
1. 安装所需要的库
pip install requests
pip install lxml

2. 具体实现
import requests
import urllib3
import argparse
from lxml import etree
from concurrent.futures import ThreadPoolExecutor
# 解决requests请求出现的InsecureRequestWarning错误
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

def query(url):
    url = "https://www.aizhan.com/cha/{}/".format(url)

    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'Accept-Language': 'en,zh-CN;q=0.9,zh;q=0.8,vi;q=0.7',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Pragma': 'no-cache',
        'Referer': 'https://www.aizhan.com/',
        'Sec-Fetch-Dest': 'document',
        'Sec-Fetch-Mode': 'navigate',
        'Sec-Fetch-Site': 'same-origin',
        'Sec-Fetch-User': '?1',
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1',
        'sec-ch-ua': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': 'linux',
    }

    response = requests.get(url=url, headers=headers)
    lxml_tree = etree.HTML(response.text)
    href_name = lxml_tree.xpath(
        '//div[@id="webpage_title"]//text()')
    print("\n-> Title信息: {0}".format("".join(href_name)))
    br = lxml_tree.xpath(
        '//a[@id="baidurank_br"]//img//@alt')
    mbr = lxml_tree.xpath(
        '//a[@id="baidurank_mbr"]//img//@alt')
    pr = lxml_tree.xpath(
        '//a[@id="360_pr"]//img//@alt')
    sm_pr = lxml_tree.xpath(
        '//a[@id="sm_pr"]//img//@alt')
    sogou_pr = lxml_tree.xpath(
        '//a[@id="sogou_pr"]//img//@alt')
    google_pr = lxml_tree.xpath(
        '//a[@id="google_pr"]//img//@alt')
    print("[+] 综合权重: \n 百度权重: {0}\t移动权重:{1}\t360权重:{2}\t神马权重:{3}\t搜狗权重:{4}\t谷歌PR:{5}".format("".join(
        br), "".join(mbr), "".join(pr), "".join(sm_pr), "".join(sogou_pr), "".join(google_pr)))

    icp = lxml_tree.xpath(
        '//ul[@id="icp"]//text()')
    print("[+] 备案信息: \n", repr(" ".join(icp)).replace(
        "\\n", "").replace("\\t", "").replace("'", ""))

if __name__ == "__main__":
    example_text = """
        python 1.py -u qq.com
        python 1.py -f 1.txt
    """
    try:
        parser = argparse.ArgumentParser(
            description=example_text, formatter_class=argparse.RawTextHelpFormatter
        )
        parser.add_argument("-u", "--url", required=False)
        parser.add_argument("-f", "--files", required=False)
        args = parser.parse_args()
        url = args.url
        files = args.files
        if url:
            query(url=url)
        else:
            count = 0
            with open(files, "r", encoding="utf-8") as f:
                    # 创建最大线程数的线程池
                    with ThreadPoolExecutor(10) as threadPool:
                            for url in f:
                                try:
                                    threadPool.submit(query, url.replace("\n", ""))
                                    count += 1
                                except Exception as e:
                                    print("[-] error: ",e)
                                    continue
            print("\ntotle: [{}]".format(count))
    except:
        pass


三、实现效果
1. 单条查询

在这里插入图片描述

2. 多条查询

在这里插入图片描述

四、总结

代码实现思路是很简单的,用起来效果也很不错,当遇到重复工作时,就需要思考是否能用所学知识来,来简化我们的工作量,也可以参考别人的思路来实现自己的工具。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,Python自动化测试学习等教程。带你从零基础系统性的学好Python!

一、Python学习大纲

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、入门学习视频

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。在这里插入图片描述

五、python副业兼职与全职路线

在这里插入图片描述

上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取

👉[[CSDN大礼包:《python兼职资源&全套学习资料》免费分享]]安全链接,放心点击

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要成为一个Python的大牛,需要通过一系列实战经验来不断进阶。 首先,我们需要从菜鸟开始,学习基本的语法和常用库。掌握Python的基本语法、变量、数据类型、条件语句和循环语句等是必不可少的。此外,还要熟悉常用的Python库,如NumPy、Pandas和Matplotlib等,这些库在数据处理和可视化方面都非常常用。 接下来,我们需要通过实战来巩固所学的知识。可以选择一些小项目来实践,比如编写一个简单的Web应用、爬取网页数据或者创建一个简单的机器学习模型。通过实际应用,可以提升对Python的实际运用能力。 在实战过程中,我们需要积累并解决一些常见的问题。这些问题可能涉及到代码的优化、调试、性能优化等方面。通过解决这些问题,我们可以提升自己的编程能力,并且学会更高效地利用Python来解决实际问题。 另外,为了进一步提升自己的水平,可以参与开源项目或者自己创建项目。通过参与开源项目,可以学习到更多高级的编程技术和实践经验。同时,创建自己的项目有助于锻炼独立思考和解决问题的能力。 除了对Python语言的掌握外,我们还需要了解相关的领域知识。比如,在数据科学领域,需要学习统计学、机器学习和数据挖掘等知识。通过将Python与领域知识相结合,可以在相关领域中发挥更大的作用。 总而言之,成为一个Python的大牛需要不断地实践和学习。通过不断地积累实战经验,掌握并解决常见问题,参与开源项目或者自己创建项目,同时结合相关领域的知识,多角度地深入学习Python。这样的进阶之路需要耐心和毅力,但最终将能够取得令人骄傲的成果。 ### 回答2: Python是一门广泛应用于软件开发和数据分析的编程语言,具有简洁易学、功能强大的特点,因此非常适合初学者入门。然而,要想从菜鸟到大牛,需要不断拓展知识,提升技能。 首先,要全面掌握Python的基础知识,包括语法、数据类型、条件语句、循环语句等。可以通过阅读相关书籍、教程、参加培训班等方式进行学习。 其次,理解面向对象编程(OOP)是进阶的关键。Python是一门支持OOP的语言,掌握面向对象的概念和用法可以使代码更加模块化和可重用。可以通过练习编写类和对象,深入理解继承、封装和多态等概念。 另外,掌握Python标准库和第三方库也是提升的必要条件。标准库包含了许多常用的模块和函数,如操作文件、网络编程、并发等。同时,第三方库可以满足更具体的需求,如数据分析(NumPy、Pandas)、机器学习(Scikit-learn、TensorFlow)等。可以通过实践项目和参与开源社区来积累经验和熟悉常用的库。 此外,代码优化和性能调优也是进阶的一环。良好的代码结构、规范的命名和注释可以提高代码的可读性和可维护性。同时,了解性能优化的技巧和工具可以提高程序的执行效率。 最后,实际项目经验是从菜鸟到大牛的关键。通过实践解决真实的问题,遇到的挑战和解决方案都可以让你不断成长。可以自己找项目实践,也可以参与开源项目、参加比赛等方式来积攒经验。 总的来说,进阶的过程需要坚持不懈的学习和实践,并且保持持续学习的动力。不断总结和思考,参与开源社区和技术讨论也可以获得更多的启发和帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值