我需要从网站获取遗传途径的链接。首先我需要登录,但遇到了麻烦。我对刮刮的经验很少,所以任何指针或一般指导如何'有关这方面的信息将非常感谢,并提供准确的答案。
with
不幸的是,它似乎没有让我登录。我得到了:
import requests
from bs4 import BeautifulSoup
URL = 'http://www.broadinstitute.org/gsea/msigdb/genesets.jsp?collection=CP:BIOCARTA'
session1 = requests.Session()
params = {'login':'my_email'}
session2 = session1.post(URL, data=params)
pathways_links = []
for link in soup.find('div', attrs={'id':'wrapper'}).find(
'div', attrs={'id':'contentwrapper'}).find(
'div', attrs={'id':'content_navs'}).find(
'table', attrs={'id':'geneSetTable'}).find('a')['href']:
pathways_links.append(link)
print link
如果我要求它在' content_navs'之前打印链接div然后我得到:
'div', attrs={'id':'content_navs'}).find(
AttributeError: 'NoneType' object has no attribute 'find'
任何解决方案都将非常感激。感谢。
答案 0 :(得分:0)
您需要先在if (val.ToCharArray().All(p => Char.IsDigit(p)) && val.Length >= 4 && val.Length <= 10)
登录,然后转到其他位置。
第一步,是创建一个会话对象;这将保留cookie和其他会话详细信息。接下来,您需要登录,然后最终将内容传递给BeautifulSoup:
http://www.broadinstitute.org/gsea/login.jsp