python requests post方式抓取公开数据-示例

Python爬虫入门:使用requests库抓取网页数据 爬虫(Web Crawler),又称为网络蜘蛛(Spider),是一种按照一定规则,自动浏览互联网并收集信息的程序。它可以帮助我们获取网页中的文本、图片、视频等内容,广泛应用于数据挖掘、搜索引擎、舆情分析等领域。requests是一个简单易用的 HTTP 库,它允许我们用 Python 发送 HTTP 请求,获取网页内容。发送 HTTP 请求:支持 GET、POST、PUT、DELETE 等方法。处理响应:可以获取响应内容、状态码、响应头等信息。设置请求头和参数:方便模拟浏览器行为,应对一些简单的反爬机制。 阅读详情

问题场景

最近的项目需要抓取一些公开的网站数据,本文利用Python3下的requests方法举一个简单例子。

环境介绍

Windows
Python3.6
IDEA15
Chrome

目标

本文试图抓取一个公开网站下搜索到的数据:http://dbsearch.clinicalgenome.org/search/

这里写图片描述

思路

  1. 打开Chrome浏览器,输入网址
  2. 输入查询条件,并点击按钮
  3. 右键->检查->Elements->点击箭头选取一个数据,观察前台显示的数据在哪个标签层级下,方便后续清洗
  4. 右键->检查->Network 得到一些cookie等必备头部信息,作为参数
  5. 清洗request的payload信息,拼成json串
  6. 使用requests.post方法提交抓取源数据

关键步骤

3 右键->检查->Elements->点击箭头选取一个数据,观察前台显示的数据在哪个标签层级下,方便后续清洗

这里写图片描述

上图蓝色背景内的第二列是表格内的数据,也是我们要的数据

4 右键->检查->Network 得到一些cookie等必备头部信息

这里写图片描述

5 清洗request的payload信息,拼成json串

这里写图片描述

payload = {
‘GenomeBuild’: ‘hg19’,
‘Location’: ‘chrX:70367400-70384667’,
‘DirectView’: ‘View in …’,
‘Type’: ‘Any’,
‘Gender’: ‘Any’,
‘HPOTerm’: ”,
‘Task’: ‘Search ISCA Database’,
‘pheno_btn_style’: ”,
}

CODE

from bs4 import BeautifulSoup
import requests


def get_isca(url, headers, payload):
    page = requests.post(url, data=payload, headers=headers).text
    soup = BeautifulSoup(page, 'lxml')
    links = soup.select('td.results_2')
    i = 0
    for link in links:
        print(link.text)
        i += 1
        if (i % 8 == 0):
            print('================')

    links = soup.select('td.results_1')
    i = 0
    for link in links:
        print(link.text)
        i += 1
        if (i % 8 == 0):
            print('================')

if __name__ == '__main__':
    url = 'http://dbsearch.clinicalgenome.org/search/'
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Cookie': 'X-Mapping-eeipplmp=4DF199590E46B78FBFB31AEB1821707A',
        'Referer': 'http://dbsearch.clinicalgenome.org/search/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
    }
    payload = {
        'GenomeBuild': 'hg19',
        'Location': 'chrX:70367400-70384667',
        'DirectView': 'View in ...',
        'Type': 'Any',
        'Gender': 'Any',
        'HPOTerm': '',
        'Task': 'Search ISCA Database',
        'pheno_btn_style': '',
    }

    get_isca(url, headers, payload)

输出

这里写图片描述

可以看出包括Location列在内的数据都被抓到了。

python爬虫之JS逆向——requests模块 本文主要记录了python的编码与解码和requests库的内容,对UA反爬、Referer反爬、Cookie反爬和代理IP反爬进行了学习和实践 阅读详情

相关推荐

python爬虫教程:基于Python的Post请求数据爬取的方法详解

这篇文章主要介绍了基于Python的Post请求数据爬取的方法,需要的朋友可以参考下 为什么做这个 和同学聊天,他想爬取一个网站的post请求 观察 该网站的post请求参数有两种类型:(1)参数体放在了query中,即url拼接参数(2)body中要加入一个空的json对象,关于为什么要加入空的json对象,猜测原因为反爬虫。既有query参数又有空对象体的body参数是一件脑洞很大的事情。 一...

python爬虫教程 1万+

python使用requests进行登录操作,抓取所需信息

其实这种登录页面直接使用requests进行操作比较麻烦,我们可以使用selenium进行登录,获取登录后的cookie值,然后就可以进行个人操作了,这里需要使用到webdriver,建议使用chromedriver,由于本人的chrome版本太高了,官方没有给出这个版本的driver,因此使用了edgedriver,话不多说,直接上代码!发现print一下,发现打印出来的是登录页的信息,,这表示我们登录是失败的,此时我们重新分析下造成没有登录成功的原因。接下来看下我们需要的获取的数据是如何请求到的。

qq_15607445的博客 3787

Python 爬虫工具箱:从 requests 到 BeautifulSoup,玩转网页数据抓取

本文介绍了使用Python进行网页数据抓取的基本方法,重点讲解了requests和BeautifulSoup库的应用。通过requests发送HTTP请求获取网页内容,再使用BeautifulSoup解析HTML结构并提取所需数据。文章包含安装指南、代码示例、网页元素提取技巧以及数据存储方法,最后展示了如何抓取新闻标题和内容并保存为CSV/JSON文件。这些工具和技巧可以帮助开发者快速构建高效的数据抓取程序。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 807

Python requests模拟登陆(包含验证码)的网站No.6

Python requests模拟登陆(包含验证码)的网站 一、爬虫思路 爬虫就是把用户能在网页看到的数据,以代码的形式抓取到文档里面,其实爬虫最主要的就是分析网站,想要得到网站的数据需要具备什么条件,说白了就是代码层操作的步骤得和用户在网页所操作的流程一模一样就ok了。 二、requests模拟登陆 import requests import json #请...

蒙强的博客 2368

网络爬虫基础教程:使用 Python 的 requests 库进行网页数据抓取

网络爬虫是一种自动化程序,用于从互联网上抓取数据。无论是用于数据分析、市场研究、学术研究,还是搜索引擎的网页索引,爬虫技术都在现代互联网应用中发挥着重要作用。本文将通过 requests来讲解如何进行基本的网页数据抓取。requests是 Python 中一个简单易用的库,它通过封装 HTTP 请求,简化了网络请求的过程,是实现网络爬虫的理想选择。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1028

使用Python的Requests模块抓取网页数据(前端)

在前端开发中,有时候我们需要从外部网页获取数据来展示在我们的应用程序中。Python的Requests模块是一个强大的HTTP库,它可以帮助我们轻松地抓取网页数据。本文将介绍如何使用Requests模块来抓取网页,并提供相应的示例源代码。在实际开发中,可以根据具体的需求来使用相应的方法和参数。安装完成后,我们可以开始使用Requests模块来抓取网页数据。Requests模块提供了丰富的功能,可以满足我们在前端开发中对抓取网页数据的需求。除了获取网页内容,我们还可以获取其他信息,例如响应状态码、请求头等。

KwyxLibrary的博客 590

用Python Requests库轻松实现网络爬虫,学会抓取数据!

Requests是一个Python库,用于发起HTTP请求。它是在Python社区中广泛使用的库之一,因其简单的API和强大的功能而备受欢迎。通过Requests,可以轻松地与Web服务器进行通信,发送HTTP请求并处理响应。Requests库是Python爬虫中不可或缺的工具之一。它简化了与Web服务器的通信,提供了丰富的功能,可以轻松地发送HTTP请求、处理响应以及处理异常情况。无论是要爬取网页内容、调用API接口还是进行其他网络数据收集工作,Requests都能满足需求。

Everly_的博客 763

掌握Python requests库实现POST请求的指南

本文还有配套的精品资源,点击获取 简介:Python爬虫技术利用 requests 库发送HTTP请求,特别是在数据抓取和分析领域至关重要。本文详细介绍了如何使用 requests 库进行POST请求,模拟浏览器登录,包括构建请求参数、设置请求头、发送请求、检查响应以及登录后页面处理等步骤。文章还提供了一个实际的Python脚本示例,帮助读者通过...

weixin_42603332的博客 982

使用Python+requests简单实现模拟登录以及抓取接口数据

本例子的服务端是基于Session来和客户端保持会话连接的,也就是说每个客户端首次访问服务端时,服务端都会为其开启一个Session,只要客户端的Cookie信息不被用户清空,或者服务端重启,又或者此Session保持长时间有效,之后的访问,多少次都是同一个Session,并存于服务器内存中。下面就以Python的requests依赖库来实现一个客户端模拟登录。

都随它大小便吧 4356

差分隐私(Differential Privacy)

差分隐私,拉普拉斯机制和高斯机制的证明

Michale_L的博客 1万+

Delta并联机械手-Codesys实现以及正解逆解研究

由于Codesys的Robotics模块有Delta并联机械手的运动模型,因此借助Codesys的机械手运动模型,研究自己的正解逆解算法。

weixin_42386991的博客 5566

Python利用requests抓取页面源代码(基础)

Python利用requests抓取页面源代码(基础) Requests模块是一个用于网络访问的模块. 由于使用到的requests库为第三方库,需要事先对其进行安装 1.1安装requests (1)利用cmd安装,首先确保Python已经下载入电脑内,然后启动cmd控制台,输入pip install requests,等待下载完成即可 (2)利用pycharm安装,在pycharm的Terminal中输入 pip install requests 命令进行request的安装 回车等待安装完毕即

Sunny_Deer的博客 1万+

ArcGIS:根据DEM数据提取区域水系

利用DEM数据提取区域水系是常见的水文分析应用,为了获取区域的矢量水系数据,我们可以通过ArcGIS对高程DEM数据进行水文分析,为地表水流建立模型,进而获取到该地的水系数据,DEM数据精度越高,获取到的水系数据精度也就越高。以下介绍如何用ArcGIS提供的工具提取水系。

Oruizn的博客 9110

Requests数据抓取

Requests数据抓取 1.Requests简介与安装 ​ Requests是python的一个HTTP客户端库,几乎可以解决我们遇到的任何爬虫问题,其强大简洁的API足以让人体会到python的优雅。 Windows下安装通过命令 pip install requests 之后可以在CMD下运行python [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gbQ6Nsyh-1640586945038)(wps18.jpg)] 2.Requests使用 要使用request

less is more 980

CVPR 2024 LaTeX 模板实战:从匿名提交到图表排版的避坑指南

本文详细解析CVPR 2024 LaTeX模板的使用技巧,涵盖匿名提交设置、pdfLaTeX编译器选择、图表排版优化等关键环节。通过实战案例演示智能引用、公式编号、三线表制作等专业技巧,帮助研究者高效完成论文格式规范,规避常见排版错误。特别针对双栏格式下的图片定位、跨栏表格等复杂场景提供解决方案。

weixin_42561040的博客 453

【昇腾】用MindIE(服务化方式)拉起glm4-9b-chat模型问题解决

【昇腾】用MindIE拉起glm4-9b-chat模型问题解决: LLMInferEngine failed to init LLMInferModels ERR: Failed to init endpoint! Please check the service log or console output. Killed make sure the folder's owner has execute permission.

u014448841的博客 5117

Python requests Post FormData

利用requests模块提交Form Data数据 通过开发模式抓取到的原始文件: ------WebKitFormBoundaryvh9ypdLiBr7GfpZF Content-Disposition: form-data; name="json" {"expectedImportLocation":{"space":4,"location":"/"},"resources":[{"s...

tonny_liuchao的专栏 4116

基于 STM32 设计的 HC05 蓝牙音箱

本项目介绍如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。该音箱可以接收来自手机或其他蓝牙设备的音频数据,并通过扬声器播放。该项目展示了如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。易于实现功能实用可扩展性强如果您需要开发一个蓝牙音箱,该项目可以作为参考。

走向CTO的路上... 2471

python之requests模块的GET、POST请求方式

python的requests模块可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 安装方式 pip install requests 基于GET请求 response = requests.request("get", "http://www.baidu.com/") 如果你想添加headers,可以传入...

m0_37382341的博客 1264

【智能车Code review】—曲率计算、最小二乘法拟合

【1】曲率计算函数 选三个点计算曲率 float process_curvity(byte x1, byte y1, byte x2, byte y2, byte x3, byte y3) { float K; int S_of_ABC = ((x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)) / 2; //面积的符号表示方向 byte q1 = (byte)((x2 - x1) * (x2 - x1) + (y2 - y1) *

hanhan的博客 1万+

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

MISAYAONE的博客 1707

[Python爬虫] 三、数据抓取之Requests HTTP 库

文章主要介绍了数据抓取之Requests HTTP 库。

Deng's Blog 8907

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

网络爬虫:使用 requests抓取静态网页数据

总之,使用requests库进行静态网页抓取需要发送HTTP请求、处理响应内容和解析网页内容。在编写爬虫时,要遵循法律法规和网站的规定,并注意保持良好的道德和法律素养。

2301_77070523的博客 4179

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python中requests发送POST请求—爬取百度翻译接口案例

目录 request.post()中的参数 Ajax 案例——百度翻译 继上一章 ——>python中requests发送GET请,下面说如何进行发送POST请求 request.post()中的参数 requests中发送post请求里面有几个基础的参数如下 requests.post(url=url,data=data,headers=headers) data:请求所携带的参数,以字典的形式进行封装 Ajax 首先来说一下什么是Ajax,Ajax 即“Asynchrono..

渗透之路,攻防之间皆学问 6869

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

3步高效解决Facebook公开数据抓取难题:Python实战方案

在社交媒体数据分析和市场研究中,我们常常面临一个棘手问题:如何在不依赖官方API的情况下,稳定获取Facebook公开页面的数据?传统方法要么需要复杂的API申请流程,要么面临频繁的反爬虫限制。今天,我们将分享一个实战方案,通过Python工具facebook-scraper,在3个步骤内解决这一技术难题。 ## 痛点分析:为什么需要无API的数据抓取方案 对于数据分析师、市场研究人员和社交媒

gitblog_00080的博客 1019

抓取静态网页之requests库

目录一. 抓取静态网页的实现技术二.发送基本请求(1)发送GET请求1.不携带url参数的GET请求2. 携带url参数的GET请求(2)发送POST请求三. 处理复杂请求(1)Cookie处理(2)会话维持(3)重定向控制(4)自定义Headers四. 设置代理服务器五. 异常处理完整异常处理结构常见异常类型最佳实践建议静态网页是 HTML格式的网页,这种网页在浏览器中呈现的内容都会体现在源代码中,此时我们若要抓取静态网页的数据,只需要获得网页的源代码即可。网络爬虫抓取静态网页数据的过程就是获得网页 源代

2301_81437523的博客 795
上一篇: web: _show -> _info 造轮子编程
下一篇: ChannelSftp下载文件含有中文名称的解决办法
sand_clock
博客等级 码龄11年 66粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值