正确的库用法:requests与bs4.BeautifulSoup结合使用?

2 投票
1 回答
1227 浏览
提问于 2025-04-17 19:50

我刚刚把我的HTTP访问库从urllib2换成了request库。在使用urllib的时候,我用BeautifulSoup来提取HTML元素,使用的是findAll(tag='element')这个函数。那么我在使用request的时候,是否还是像之前那样继续用BeautifulSoup,还是说request有更简单的方法来完成这个过程呢?


使用urllib2提取标签


import urllib2
from bs4 import BeautifulSoup as BS

response = urllib2.urlopen('http://stackoverflow.com/')
soup = BS(response)

for a in soup.findAll('a'):
    print a['href]

使用request提取标签


import response

response = request.get('http://stackoverflow.com/')

for a in response.findAll('a'):
    print a['href]

1 个回答

1

requests 这个库主要是为了让你更方便地从一个网址获取数据,特别是当网址有重定向等情况时。它并不会帮你解析网页的内容,也就是说,网页的 HTML 代码你还得自己处理。你可以使用 BeautifulSoup 来解析这些内容,并且需要在你的第二段代码中添加相应的导入语句,像这样:

soup = BS(response.text)

撰写回答