正确的库用法:requests与bs4.BeautifulSoup结合使用?
我刚刚把我的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)