由于该网站需要登录才能访问,因此需要使用selenium模拟浏览器进行登录,并使用BeautifulSoup进行页面解析。

以下是一个示例代码,可以爬取pdb id为1aki的蛋白质结构信息并下载相应文件:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import requests

# 登录
driver = webdriver.Chrome()
driver.get('https://www.wwpdb.org/login')
username = driver.find_element_by_name('username')
password = driver.find_element_by_name('password')
username.send_keys('your_username')
password.send_keys('your_password')
password.send_keys(Keys.RETURN)

# 爬取页面
pdb_id = '1aki'
url = f'https://www.wwpdb.org/pdb?id={pdb_id}'
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')

# 解析页面并存储信息
table = soup.find('table', class_='summaryTable')
rows = table.find_all('tr')
data = {}
for row in rows:
    cells = row.find_all('td')
    key = cells[0].text.strip()
    value = cells[1].text.strip()
    data[key] = value
print(data)

# 下载文件
file_url = f'https://files.rcsb.org/download/{pdb_id}.pdb'
response = requests.get(file_url)
with open(f'{pdb_id}.pdb', 'wb') as file:
    file.write(response.content)

# 关闭浏览器
driver.quit()

需要替换代码中的your_usernameyour_password为自己的登录信息。另外,由于文件下载速度较慢,可能需要等待一段时间才能下载完成

用python实现通过网站httpwwwwwpdborg爬取蛋白质结构信息进行存储并下载相应文件

原文地址: https://www.cveoy.top/t/topic/eFSg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录