Python 爬虫入门:BeautifulSoup 和 Selenium 抓取网页数据

小飞兽 Python 5 次阅读 2026-07-24

爬虫是Python最经典的应用之一。BeautifulSoup解析静态HTML,Selenium控制浏览器抓取动态页面。

静态页面爬虫

requests.get()获取页面,BeautifulSoup(r.text, 'html.parser')解析HTML。select()方法用CSS选择器提取数据,比正则更可靠。

动态页面爬虫

Selenium控制Chrome/Firefox浏览器,可以等待JavaScript渲染完成。WebDriverWait替代time.sleep()等待元素加载,更高效可靠。

robots.txt 遵守

urllib.robotparser.RobotFileParser读取robots.txt规则,can_fetch()检查是否允许爬取。两次请求间隔至少1秒。

反爬应对

轮换User-Agent和代理IP降低被封风险。设置合理的请求间隔。尽量找JSON API替代HTML解析。

运行效果

BeautifulSoup适合新闻、小说等静态内容。Selenium适合需要登录或JavaScript渲染的页面。

常见问题

Q1: 爬虫被封了怎么办?降低请求频率,轮换代理IP,使用代理池服务。

Q2: BeautifulSoup用哪个解析器?html.parser内置,lxml速度快,html5lib最接近浏览器。

延伸阅读

  • Python requests进阶
  • Python正则表达式
  • Python数据存储

---

作者:小马 | 绍大技术网 shaoda.net