首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python和BeautifulSoup从网页中检索链接

使用python和BeautifulSoup从网页中检索链接
EN

Stack Overflow用户
提问于 2009-07-03 18:29:57
回答 11查看 288.1K关注 0票数 167

如何使用Python检索网页的链接并复制链接的url地址?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-07-03 18:53:56

下面是在BeautifulSoup中使用SoupStrainer类的一小段代码:

代码语言:javascript
复制
import httplib2
from bs4 import BeautifulSoup, SoupStrainer

http = httplib2.Http()
status, response = http.request('http://www.nytimes.com')

for link in BeautifulSoup(response, parse_only=SoupStrainer('a')):
    if link.has_attr('href'):
        print(link['href'])

BeautifulSoup文档实际上相当不错,涵盖了许多典型场景:

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

编辑:请注意,我使用了SoupStrainer类,因为如果事先知道要解析的内容,它的效率会更高一些(内存和速度)。

票数 221
EN

Stack Overflow用户

发布于 2009-07-03 18:37:54

代码语言:javascript
复制
import urllib2
import BeautifulSoup

request = urllib2.Request("http://www.gpsbasecamp.com/national-parks")
response = urllib2.urlopen(request)
soup = BeautifulSoup.BeautifulSoup(response)
for a in soup.findAll('a'):
  if 'national-park' in a['href']:
    print 'found a url with national-park in the link'
票数 34
EN

Stack Overflow用户

发布于 2014-02-07 22:17:08

下面的代码使用urllib2BeautifulSoup4检索网页中所有可用的链接

代码语言:javascript
复制
import urllib2
from bs4 import BeautifulSoup

url = urllib2.urlopen("http://www.espncricinfo.com/").read()
soup = BeautifulSoup(url)

for line in soup.find_all('a'):
    print(line.get('href'))
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1080411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档