Requests库抓取数据

Posted alex-xxc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Requests库抓取数据相关的知识,希望对你有一定的参考价值。

 

安装requests库 pip install requests

1.使用GET方式抓取数据:

import requests #导入requests库

url="http://www.cntour.cn/"  #需要爬取的网址
strhtml = requests.get(url);    #使用GET方式,获取网页数据

print(strhtml.text) #打印html源码

技术分享图片

2.使用POST方式抓取数据

网址:有道翻译:http://fanyi.youdao.com/

按F12 进入开发者模式,单击Network,此时内容为空,如图:

技术分享图片

输入‘’我爱中国‘’,翻译就会出现:

技术分享图片

单击Headers,发现请求数据的方式为POST:

技术分享图片

将url指取出来赋值:url=‘http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule’(把_o去掉)

POST请求获取数据的方式不同于GET,POST请求数据必须构建请求头才可以,所以把Form Data中的请求参数复制出来构建新字典:

技术分享图片

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:XXC
import requests
import json

#定义获取信息函数
def get_translate_date(word=None):
    url=http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule
    Form_data = {
        i: 我爱中国,
        from: AUTO,
        to: AUTO,
        smartresult: dict,
        client: fanyideskweb,
        salt: 1539098682270,
        sign: f293c39aa50f57d4d35eb6822f162f72,
        doctype: json,
        version: 2.1,
        keyfrom:fanyi.web,
        action: FY_BY_REALTIME,
        typoResult: false,
    }
    #请求表单数据
    response = requests.post(url,data=Form_data)
    #将json格式字符串转字典
    content = json.loads(response.text)
    #打印翻译后的数据
    print(content[translateResult][0][0][tgt])
if __name__ == __main__:
    get_translate_date(我爱中国)

技术分享图片

 

以上是关于Requests库抓取数据的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(21):使用requests网络库抓取二进制数据提交POST请求和处理响应数据

python请求库requests的安装教程

Python-爬虫-基本库(requests)使用-抓取猫眼电影Too100榜

请教网页里的特定数据怎么抓取?

Python的requests包在抓取页面的时候页面源代码抓取不完全,页面数据不是动态加载的。

python爬虫求一个只用requests库和beautifulsoup库抓取淘宝目录页面内容的框架。。自己抓不出来。绝望。