Pythonで基本的なWebクローラーを作成しようとしています。私が抱えている問題は、URLを抽出するためにページを解析することです。私はBeautifulSoupと正規表現の両方を試しましたが、効率的な解決策を達成できません。
例として:FacebookのGithubページですべてのメンバーURLを抽出しようとしています。(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
ただし、これには解析にかなりの時間がかかり、クロールプロセスが長すぎるため、より効率的に解析できるかどうか疑問に思いました。