Python中的Web爬虫

时间:2012-11-06 21:41:23

标签: python parsing web-crawler

我正在尝试用Python编写基本的Web爬虫。我遇到的麻烦是解析页面以提取url。我已经尝试过BeautifulSoup和正则表达式但是我无法实现有效的解决方案。

作为一个例子:我正在尝试在Facebook的Github页面中提取所有成员网址。 (https://github.com/facebook?tab=members)。我写的代码提取成员URL;

def getMembers(url):
  text = urllib2.urlopen(url).read();
  soup = BeautifulSoup(text);
  memberList = []
    #Retrieve every user from the company
    #url = "https://github.com/facebook?tab=members"

  data = soup.findAll('ul',attrs={'class':'members-list'});
  for div in data:
    links = div.findAll('li')
    for link in links:
          memberList.append("https://github.com" + str(link.a['href']))

  return memberList

然而,这需要花费很长时间来解析,我想知道我是否可以更有效地完成它,因为爬行过程太长了。

3 个答案:

答案 0 :(得分:1)

我建议您使用GitHub API,它可以让您完成您想要完成的任务。然后,只需要使用json解析器即可完成。

http://developer.github.com/v3/orgs/members/

答案 1 :(得分:1)

为了防止自己编写刮刀,您可以使用可用的刮刀。也许尝试scrapy,它使用python,它可以在github上使用。 http://scrapy.org/

答案 2 :(得分:0)

检查帖子Extremely Simple Web Crawler是否有简单易懂的python脚本,该脚本可以抓取网页并根据种子网址和深度收集所有有效的超链接:

相关问题