码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 爬虫之requests-html爬取国外网站大全


    Requests-HTML 对 Requests 进行了封装,添加了解析 HTML 的接口,是一个 Python 的 HTML 解析库

    由于该库是解析 html 对象,所以可以查看对应的 html 对象包含哪些方法与与属性。

    html 对象的方法包括

    • find:提供一个 css 选择器,返回一个元素列表;
    • xpath:提供一个 xpath 表达式,返回一个元素列表;
    • search: 根据传入的模板参数,查找 Element 对象;
    • search_all:同上,返回的全部数据;

    html 对象的属性包括

    • links:返回页面所有链接;
    • absolute_links:返回页面所有链接的绝对地址;
    • base_url:页面的基准 URL;
    • html,raw_html,text:以 HTML 格式输入页面,输出未解析过的网页,提取页面所有文本;

    示例:爬取下面网站对于的网站名和网址

    国外网站大全|世界网站排名|全球知名网站_世界各国网址大全 

     

    1. from requests_html import HTMLSession
    2. session = HTMLSession()
    3. page_size = int(input("请输入总页码:"))
    4. for page in range(1, page_size + 1):
    5. world = session.get(f'http://www.world68.com/top.asp?t=5star&page={page}')
    6. world.encoding = 'gb2312'
    7. # world.html.encoding = "gb2312"
    8. # print(world.text)
    9. print("正在采集数据", world.url)
    10. title_a = world.html.find('dl>dt>a')
    11. for item in title_a:
    12. name = item.text
    13. url = item.attrs['href']
    14. with open('webs.txt', "a+", encoding="utf-8") as f:
    15. f.write(f"{name},{url}\n")
    • world.encoding,设置了网页解析编码;
    • world.html.find('dl>dt>a') 通过 css 选择器,查找所有的网页标题元素;
    • item.text 提取网页标题内容;
    • item.attrs['href'] 获取元素属性,即网站域名

     输出:

     

  • 相关阅读:
    RabbitMQ如何实现消费端限流
    git使用进阶(二)
    JUC_锁是什么,Synchronized与Lock的区别
    docker下使用seata异常
    计算机毕业设计springboot+vue基本微信小程序的医疗监督反馈小程序 uniapp
    稳定性实践:全链路跟踪系统,技术运营能力的体现
    html表单元素
    JAVA黑马程序员day12--集合进阶(下部--双列集合)
    人脸活体检测人脸识别:眨眼+张口
    三、防火墙-源NAT
  • 原文地址:https://blog.csdn.net/seanyang_/article/details/127044343
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号