正确的图书馆使用:请求ws bs4.BeautifulSoup?

时间:2013-03-21 06:27:15

标签: python tags request beautifulsoup urllib2

我刚刚使用urllib2作为我的HTTP访问库切换到使用request库。在urllib中,您使用BeautifulSoup使用findAll(tag='element')函数来拉取html元素,是否以相同的方式继续使用BeautifulSoup,或者请求是否具有简化此过程的函数?


使用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]

使用请求

拉取标签
import response

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

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

1 个答案:

答案 0 :(得分:1)

request只会让您更容易从网址获取数据,尤其是在有重定向等情况下。它不会为您解析HTML的正文,您仍然应该这样做使用BeautifulSoup并将导入添加到第二个代码片段,类似于:

soup = BS(response.text)