写一个python程序,爬取http://www.letpub.com.cn/index.php?page=grant网站的数据
时间: 2023-06-14 07:08:05 浏览: 382
以下是一个简单的Python爬虫程序,用于从http://www.letpub.com.cn/index.php?page=grant网站爬取数据:
```python
import requests
from bs4 import BeautifulSoup
url = "http://www.letpub.com.cn/index.php?page=grant"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find('table', {'class': 'table_yjfx'})
for row in table.findAll('tr'):
cols = row.findAll('td')
if len(cols) > 0:
print(cols[0].text.strip(), cols[1].text.strip(), cols[2].text.strip(), cols[3].text.strip(), cols[4].text.strip())
```
这个程序会打印出表格的每一行数据,每一行包括5个字段:项目名称、资助机构、项目类别、申请时间、资助金额。你可以根据自己的需要对程序进行修改。
相关问题
写一个python程序,爬取http://www.letpub.com.cn/index.php?page=grant网站的数据,并要求可以翻页
以下是一个简单的 Python 爬虫程序,用于爬取 http://www.letpub.com.cn/index.php?page=grant 网站的数据,并可以翻页。代码使用 requests 和 BeautifulSoup 库。
```python
import requests
from bs4 import BeautifulSoup
page_num = 1 # 起始页码
max_page_num = 10 # 最大页码
while page_num <= max_page_num:
url = f"http://www.letpub.com.cn/index.php?page=grant&sort=¤tpage={page_num}"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
# 找到表格中的所有行
rows = soup.select("table tr")[1:]
for row in rows:
# 获取每一行中的单元格
cells = row.select("td")
# 解析出所需的数据
grant_title = cells[0].text.strip()
grant_number = cells[1].text.strip()
grant_agency = cells[2].text.strip()
grant_amount = cells[3].text.strip()
grant_duration = cells[4].text.strip()
# 打印结果
print(grant_title, grant_number, grant_agency, grant_amount, grant_duration)
# 翻页
page_num += 1
```
该程序将从第一页开始爬取数据,直到爬取到第 `max_page_num` 页为止。在每一页中,程序使用 BeautifulSoup 库来解析 HTML 并找到表格中的所有行。对于每一行,程序解析出所需的数据,并将其打印到控制台中。最后,程序将页码加一以翻页。
使用R语言写一个爬虫代码,要求从letpub网站上提取2019年医学部申请的全部项目...
首先,需要安装并加载`rvest`和`xml2`这两个R包。然后,可以使用以下代码从letpub网站上提取2019年医学部申请的全部项目:
``` r
# 加载所需的R包
library(rvest)
library(xml2)
# 定义网页链接和选择器
url <- "https://letpub.com.cn/index.php?page=grant&name=&department=%E5%8C%BB%E5%AD%A6%E9%83%A8&year=2019"
selector <- "#grant_table > tbody > tr"
# 获取网页内容
page <- read_html(url)
# 提取项目信息
projects <- page %>%
html_nodes(selector) %>%
html_text()
# 输出结果
print(projects)
```
该代码将返回一个字符向量,其中包含所有医学部申请的项目信息。如果还需要提取其他信息,比如项目名称、项目编号、申请人等,可以进一步解析HTML文档并使用其他选择器来提取相应的信息。
阅读全文