BeautifulSoup爬取页面URL三步走
爬虫利器BeautifulSoup爬取一个页面的所有URL,可以简单分为三个步骤:
- 使用requests获取页面内容
- 使用BeautifulSoup进行页面内容解析
- 提取并整理所需要的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三步走相关推荐
- BeautifulSoup爬取豆瓣电影排名
豆瓣电影排名网址:https://movie.douban.com/top250?start=0&filter= 在进去豆瓣电影排名后,打开浏览器的检查功能分析爬取页面源代码,在写请求代码之前 ...
- Python数据分析:爬虫从网页爬取数据需要几步?
对于数据分析师来说,数据获取通常有两种方式,一种是直接从系统本地获取数据,另一种是爬取网页上的数据,爬虫从网页爬取数据需要几步?总结下来,Python爬取网页数据需要发起请求.获取响应内容.解析数据. ...
- [python应用案例] 一.BeautifulSoup爬取天气信息并发送至QQ邮箱
前面作者写了很多Python系列文章,包括: Python基础知识系列:Python基础知识学习与提升 Python网络爬虫系列:Python爬虫之Selenium+Phantomjs+CasperJ ...
- python爬取网页内容requests_[转][实战演练]python3使用requests模块爬取页面内容
本文摘要: 1.安装pip 2.安装requests模块 3.安装beautifulsoup4 4.requests模块浅析 + 发送请求 + 传递URL参数 + 响应内容 + 获取网页编码 + 获取 ...
- Python beautifulsoup爬取小说
Python beautifulsoup爬取小说 提前准备好需要的库文件,命令行输入以下命令 pip install requests pip install bs4 pip install lxml ...
- 爬虫beautifulsoup爬取豆瓣读书数据
爬虫beautifulsoup爬取豆瓣读书数据:主要是爬取收集书的名字.类别.简介,用于接下来的聚类学习. 豆瓣链接:https://book.douban.com/tag/?view=type&am ...
- BeautifulSoup爬取贝壳网成都二手房源信息(附:完整源代码)
BeautifulSoup爬取贝壳网成都二手房源信息 最近想出一套二手房,刚好在学习爬虫,那就顺手爬一下贝壳上成都各区二手房信息了解一下行情,本篇先介绍数据爬取,数据分析稍后有时间再写.仅用于技术交流 ...
- BeautifulSoup爬取博客实例
BeautifulSoup爬取博客实例 爬取对象はてなブックマーク博客(日本网站) 用for循环爬取每个类别博客的前两页博客 使用python BeautifulSoup库 第一步: 爬取所有类别的文 ...
- c#使用正则表达式获取TR中的多个TD_使用python+BeautifulSoup爬取微博热搜榜
本文将介绍基于Python使用BeautifulSoup爬取微博热搜榜的实现过程 1.首先导入需要使用的库 from bs4 import BeautifulSoup from urllib.requ ...
最新文章
- Oracle day05 索引_数据去重
- jquery常用选择器
- java Socket Tcp示例三则(服务端处理数据、上传文件)
- Only digits (0-9) can be put inside [] in the path string: formData.XXX
- Dynamics 365 On-premises和Online 的不同
- putty保存用户名和密码_社保局官网搬家啦!忘记用户名、密码肿么办?自救指南来一波!...
- Android演示Stack(课下作业)
- SqlServer行转列
- 基于IBM Bluemix的数据缓存应用实例
- 宝塔面板部署网易云api
- python实战项目(Django技术点)
- MTK平台CAMERA驱动框架解析
- DirectSHOW中的视频捕捉 (乱七八糟整理)
- The nodejs-legacy package simply installs a symbolic link so that it can be executed using the node
- java-php-python-ssm无人智慧药柜系统设计计算机毕业设计
- Python2与Python3的区别(二):raw_input与input
- python中del怎么用_Python范例中的del关键字
- 面试-JVM-类加载-类加载器--自定义类加载器-JVM调优
- Python笔试练习题
- Linux目录配置与FHS标准
热门文章
- 助眠类产品排名,提升睡眠质量的四个好物推荐
- 力士乐驱动器原理图_力士乐伺服驱动器的常见故障代码和解决方法
- lua tcp socket read timed out
- linux动态库so调用外部so,运行时出现undefined symbol
- 欧拉函数-matlab代码
- 华工大学计算机基础题库,华工大学计算机基础操作练习题
- android - 简易launcher - RecyclerView画廊模式
- SpringCloud-Hystrix 更换 http2.0 报 could not acquire a semaphore for execution
- 中国互联网Web2.0百强企业
- 字符串转换为驼峰格式