爬虫利器BeautifulSoup爬取一个页面的所有URL,可以简单分为三个步骤:

  1. 使用requests获取页面内容
  2. 使用BeautifulSoup进行页面内容解析
  3. 提取并整理所需要的URL

代码实例

# 导入BeautifulSoup和requests模块
from bs4 import BeautifulSoup
import requests# 获取字符串格式的html_doc。由于content为bytes类型,故需要decode()
html_doc = requests.get('https://xkcd.com/353/').content.decode()
# 使用BeautifulSoup模块对页面文件进行解析
soup = BeautifulSoup(html_doc, 'html.parser')
# 查找所有tag为'a'的html元素,并生成列表
links = soup.find_all('a')
# 获取每个元素中'href'键对应的键值--即URL,并放入url_lst
url_lst = []
for item in links:url = item.get('href')url_lst.append(url)
# 过滤url_lst--仅保留包含http的URL
url_lst = list(filter(lambda url_str: 'http' in url_str, url_lst))
print(url_lst)

脚本运行结果,请看下图

BeautifulSoup爬取页面URL三步走相关推荐

  1. BeautifulSoup爬取豆瓣电影排名

    豆瓣电影排名网址:https://movie.douban.com/top250?start=0&filter= 在进去豆瓣电影排名后,打开浏览器的检查功能分析爬取页面源代码,在写请求代码之前 ...

  2. Python数据分析:爬虫从网页爬取数据需要几步?

    对于数据分析师来说,数据获取通常有两种方式,一种是直接从系统本地获取数据,另一种是爬取网页上的数据,爬虫从网页爬取数据需要几步?总结下来,Python爬取网页数据需要发起请求.获取响应内容.解析数据. ...

  3. [python应用案例] 一.BeautifulSoup爬取天气信息并发送至QQ邮箱

    前面作者写了很多Python系列文章,包括: Python基础知识系列:Python基础知识学习与提升 Python网络爬虫系列:Python爬虫之Selenium+Phantomjs+CasperJ ...

  4. python爬取网页内容requests_[转][实战演练]python3使用requests模块爬取页面内容

    本文摘要: 1.安装pip 2.安装requests模块 3.安装beautifulsoup4 4.requests模块浅析 + 发送请求 + 传递URL参数 + 响应内容 + 获取网页编码 + 获取 ...

  5. Python beautifulsoup爬取小说

    Python beautifulsoup爬取小说 提前准备好需要的库文件,命令行输入以下命令 pip install requests pip install bs4 pip install lxml ...

  6. 爬虫beautifulsoup爬取豆瓣读书数据

    爬虫beautifulsoup爬取豆瓣读书数据:主要是爬取收集书的名字.类别.简介,用于接下来的聚类学习. 豆瓣链接:https://book.douban.com/tag/?view=type&am ...

  7. BeautifulSoup爬取贝壳网成都二手房源信息(附:完整源代码)

    BeautifulSoup爬取贝壳网成都二手房源信息 最近想出一套二手房,刚好在学习爬虫,那就顺手爬一下贝壳上成都各区二手房信息了解一下行情,本篇先介绍数据爬取,数据分析稍后有时间再写.仅用于技术交流 ...

  8. BeautifulSoup爬取博客实例

    BeautifulSoup爬取博客实例 爬取对象はてなブックマーク博客(日本网站) 用for循环爬取每个类别博客的前两页博客 使用python BeautifulSoup库 第一步: 爬取所有类别的文 ...

  9. c#使用正则表达式获取TR中的多个TD_使用python+BeautifulSoup爬取微博热搜榜

    本文将介绍基于Python使用BeautifulSoup爬取微博热搜榜的实现过程 1.首先导入需要使用的库 from bs4 import BeautifulSoup from urllib.requ ...

最新文章

  1. Oracle day05 索引_数据去重
  2. jquery常用选择器
  3. java Socket Tcp示例三则(服务端处理数据、上传文件)
  4. Only digits (0-9) can be put inside [] in the path string: formData.XXX
  5. Dynamics 365 On-premises和Online 的不同
  6. putty保存用户名和密码_社保局官网搬家啦!忘记用户名、密码肿么办?自救指南来一波!...
  7. Android演示Stack(课下作业)
  8. SqlServer行转列
  9. 基于IBM Bluemix的数据缓存应用实例
  10. 宝塔面板部署网易云api
  11. python实战项目(Django技术点)
  12. MTK平台CAMERA驱动框架解析
  13. DirectSHOW中的视频捕捉 (乱七八糟整理)
  14. The nodejs-legacy package simply installs a symbolic link so that it can be executed using the node
  15. java-php-python-ssm无人智慧药柜系统设计计算机毕业设计
  16. Python2与Python3的区别(二):raw_input与input
  17. python中del怎么用_Python范例中的del关键字
  18. 面试-JVM-类加载-类加载器--自定义类加载器-JVM调优
  19. Python笔试练习题
  20. Linux目录配置与FHS标准

热门文章

  1. 助眠类产品排名,提升睡眠质量的四个好物推荐
  2. 力士乐驱动器原理图_力士乐伺服驱动器的常见故障代码和解决方法
  3. lua tcp socket read timed out
  4. linux动态库so调用外部so,运行时出现undefined symbol
  5. 欧拉函数-matlab代码
  6. 华工大学计算机基础题库,华工大学计算机基础操作练习题
  7. android - 简易launcher - RecyclerView画廊模式
  8. SpringCloud-Hystrix 更换 http2.0 报 could not acquire a semaphore for execution
  9. 中国互联网Web2.0百强企业
  10. 字符串转换为驼峰格式