使用网络爬虫简单爬取页面信息

这里展示的代码是将从网页获取的数据并转换为csv文件的示例。

复制代码
import csv
import requests
import json


def get_direction(id):
    headers2 = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"}
    param = {'id': f'{id}'}
    url2 = "https://onquadro.cs.put.poznan.pl/api/Tetrad/GetListOfTetrads"
    response2 = requests.get(url2, params=param, headers=headers2)
    data = response2.json()
    direction_value = data[0]['direction']
    return direction_value

#向url请求数据并获取响应数据
headers={
"user-agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"
}
url="https://onquadro.cs.put.poznan.pl/api/Quadruplex/GetQuadruplexes"
response=requests.get(url,headers=headers)

#将响应数据转换为python对象
datas = json.loads(response.text)

# 定义 CSV 文件的列名
fieldnames = [
    "id", "pdbId", "pdbDeposition", "assemblyId", "molecule", "experiment",
    "sequence", "ion", "ion_charge", "typeOfStrands", "type", "onzmClass",
    "numberOfTetrads", "loopTopology", "tetradCombination", "direction"
]

# 打开 CSV 文件并写入数据
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    # 写入表头
    writer.writeheader()

    # 遍历数据并写入每一行
    for item in datas:
        item['direction']=get_direction(item['id'])
        writer.writerow(item)


print("数据已成功写入 CSV 文件 'output.csv'")

由于我要获取的数据存在于多个url(一个涵盖所有条数据的url以及每条数据单独属性的url),所以在将url1(涵盖所有条数据的url)中获取到的响应数据写入的过程中去单独获取了属于该条数据在url2中的属性值并同时写入。

相关推荐
Caco_D11 天前
一行代码抓遍全网 20 个热榜!Aneiang.Pa 4.0 发布 — 极简 .NET 爬虫库
爬虫·.net
太岁又沐风15 天前
复现并修掉ART hook框架 Pine 调用原方法时的偶发 SIGSEGV
爬虫
隔窗听雨眠16 天前
大模型加爬虫上篇:技术融合与架构革新
爬虫·架构
Super Scraper16 天前
如何批量抓取 TikTok 数据而不被封锁?完整指南
爬虫·ai·自动化·抖音·tiktok·ai agent
深蓝电商API17 天前
自动化录屏 + 截图:打造爬虫调试的上帝视角
爬虫
tang7778917 天前
市场调研自动化采集架构:基于住宅IP轮换的APP数据抓取与反风控方案
爬虫·动态代理ip·爬虫代理ip·爬虫动态ip·住宅代理ip·动态住宅ip
数据知道17 天前
指纹浏览器环境的导入、导出、快照与云端同步机制
爬虫·数据采集·指纹浏览器
星川皆无恙17 天前
大数据k-means聚类算法:基于k-means聚类算法+NLP微博舆情数据爬虫可视化分析推荐系统(新版)
大数据·人工智能·爬虫·算法·机器学习·自然语言处理·kmeans
小二·17 天前
Rust 爬虫与数据处理实战:大规模并发抓取 + 流式处理
开发语言·爬虫·rust