三大网页抓取方法

一、正则表达式

导入方法:
import re

二、BeautifulSoup

BeautifulSoup库是一个非常流行的Python模块,通过该库可以轻松解析Requests库请求的网页,并把网页源代码解析为Soup文档。

导入方法:
from bs4 import BeautifulSoup
使用方法

import requests
from bs4 import BeautifulSoup

# 请求头,模仿浏览器登录
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
url = 'https://wh.lianjia.com/ershoufang/'
# 如果成功,Status Code为200
webdata = requests.get(url,headers=headers)
# 对返回的结果进行解析
# 解析方法一般用 lxml
soup = BeautifulSoup(webdata.text,'lxml')  
# 打印解析后的网页
print(soup.prettify())

三、lxml

总结

优缺点

  1. 正则、lxml方法较快,BeautifulSoup方法较慢
  2. BeautifulSoup、lxml方法使用较简单,正则使用较难
  3. 正则是内置模块,BeautifulSoup是纯python,安装较简单,lxml安装相对困难

使用

  1. 如果爬虫瓶颈是下载网页,而不是抽取数据,则使用较慢的BeautifulSoup也不成问题。
  2. 如果只需抓取少量数据,并且想要避免额外依赖的话,正则表达式更加合适。
  3. 通常情况下,lxml是抓取数据的最好选择,因为该方法既快速又健壮,而正则和BeautifulSoup只在某些特定场景下有用。

你可能感兴趣的:(三大网页抓取方法)