Python使用requests模块爬取百度翻译

requests模块:

python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。

作用:模拟浏览器发请求。

提示:老版使用 urllib模块,但requests比urllib模块要简单好用,现在学习requests模块即可!

requests模块编码流程

指定url

1.1 UA伪装

1.2 请求参数的处理

2.发起请求

3.获取响应数据

4.持久化存储

环境安装:

pip install requests

案例一:破解百度翻译(post请求)

1.代码如下:

#爬取百度翻译
#导入模块
import requests
import json

#UA伪装:将对应的User-Agent封装到一个字典中
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
           'Chrome/57.0.2987.98 Safari/537.36'}

  #网页访问连接
 url='https://fanyi.baidu.com/sug'
 #处理url携带的参数:封装到字典中
word=input("input a word: ")
data={
  'kw': word
}

#请求发送
res=requests.post(url=url,data=data,headers=headers)
#获取响应数据:json()方法返回的是obj(如果确认响应数据是json类型的,才可以使用json())
dic_obj=res.json()

#持久化存储
filename=word+'.json'
fp=open(filename,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)

#打印完成提示
print('finish')

其中:

https://fanyi.baidu.com/sug 这个url的定位如下图:

2.运行结果

案例二:爬取搜狗页面数据(get请求)

1.代码如下

import requests
if __name__ == "__main__":
  #step_1:指定url
  url = 'https://www.sogou.com/'
  #step_2:发起请求
  #get方法会返回一个响应对象
  response = requests.get(url=url)
  #step_3:获取响应数据.text返回的是字符串形式的响应数据
  page_text = response.text
  print(page_text)
  #step_4:持久化存储
  with open('./sogou.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
  print('爬取数据结束!!!')

2.运行结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python requests模块cookie实例解析

    cookie并不陌生,与session一样,能够让http请求前后保持状态.与session不同之处,在于cookie数据仅保存于客户端.requests也提供了相应到方法去处理cookie. 在python requests模块-session中,我们知道了requests中的session对象能够在请求之间保持cookie,它极大地方便了我们去使用cookie.当我们想设置方法级别中的请求时,可以如下面示例一样操作. import requests s = requests.session(

  • python使用requests.session模拟登录

    最近开发一套接口,写个Python脚本,使用requests.session模拟一下登录. 因为每次需要获取用户信息,登录需要带着session信息,所以所有请求需要带着session. 请求使用post方式,请求参数类型为raw方式,参数为json类型. 登录接口参数和结果如下: 脚本如下: 1. 引入需要的第三方包 #! /usr/bin/env python3 # -*- coding: utf-8 -*- import requests # import re import json #

  • python爬虫 基于requests模块发起ajax的get请求实现解析

    基于requests模块发起ajax的get请求 需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据 用抓包工具捉取 使用ajax加载页面的请求 鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求, 用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求 这个get请求是本次发起的请求的url ajax的get请求携带参数 获取响应内容不再是页面数据,是json字符串,是通过异步请求获取的电影

  • Python基于requests实现模拟上传文件

    方法1: 1.安装requests_toolbelt依赖库 #代码实现 def upload(self): login_token = self.token.loadTokenList() for token in login_token: tempPassword_url = self.config['crm_test_api']+'/document/upload' tempPassword_data = self.data_to_str.strToDict('''title:1.png c

  • Python3离线安装Requests模块问题

    最近运维上需要在测试环境调用http的post请求,实现自动化日切,我看了下我会的编程,也就python能符合我的要求,且简单好操作.但是在实际操作过程遇到了一些问题,其中最大的就是测试环境的机器是外网隔离的,没法连外网进行直接安装部分模块,通过搜索和实践之后,简单说下我的经验. 机器环境 操作系统:Windows Server 2012 x64 python3安装 从 [官网] 下载最新的适合windows 的安装包. 下载下来的python-3.7.4-amd64.exe,直接拷贝到测试环境

  • Python requests模块session代码实例

    http协议本身是无状态的,为了让请求之间保持状态,有了session和cookie机制.requests也提供了相应的方法去操纵它们. requests中的session对象能够让我们跨http请求保持某些参数,即让同一个session对象发送的请求头携带某个指定的参数.当然,最常见的应用是它可以让cookie保持在后续的一串请求中. 下面,通过官方文档中的示例来了解如何使用它. import requests s = requests.Session() # 第一步:发送一个请求,用于设置请

  • Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解

    1.Python requests模块说明 requests是使用Apache2 licensed 许可证的HTTP库. 用python编写. 比urllib2模块更简洁. Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码. 在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作. 现代,国际化

  • python爬虫 基于requests模块的get请求实现详解

    需求:爬取搜狗首页的页面数据 import requests # 1.指定url url = 'https://www.sogou.com/' # 2.发起get请求:get方法会返回请求成功的响应对象 response = requests.get(url=url) # 3.获取响应中的数据:text属性作用是可以获取响应对象中字符串形式的页面数据 page_data = response.text # 4.持久化数据 with open("sougou.html","w&

  • Python使用requests模块爬取百度翻译

    requests模块: python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高. 作用:模拟浏览器发请求. 提示:老版使用 urllib模块,但requests比urllib模块要简单好用,现在学习requests模块即可! requests模块编码流程 指定url 1.1 UA伪装 1.2 请求参数的处理 2.发起请求 3.获取响应数据 4.持久化存储 环境安装: pip install requests 案例一:破解百度翻译(post请求) 1.代码如下: #爬取百度翻

  • python3使用requests模块爬取页面内容的实战演练

    1.安装pip 我的个人桌面系统用的linuxmint,系统默认没有安装pip,考虑到后面安装requests模块使用pip,所以我这里第一步先安装pip. $ sudo apt install python-pip 安装成功,查看PIP版本: $ pip -V 2.安装requests模块 这里我是通过pip方式进行安装: $ pip install requests 运行import requests,如果没提示错误,那说明已经安装成功了! 检验是否安装成功 3.安装beautifulsou

  • python爬虫之爬取百度翻译

    破解百度翻译 翻译是一件麻烦的事情,如果可以写一个爬虫程序直接爬取百度翻译的翻译结果就好了,可当我打开百度翻译的页面,输入要翻译的词时突然发现不管我要翻译什么,网址都没有任何变化,那么百度翻译要怎么爬取呢? 爬取百度翻译之前,我们先要明白百度翻译是怎么在不改变网址的情况下实现翻译的.百度做到这一点是用 AJAX 实现的,简单地说,AJAX的作用是在不重新加载网页的情况下进行局部的刷新. 了解了这一点,那么我们要怎么得到 AJAX 工作时请求的URL呢?老规矩,使用抓包工具. 爬虫步骤 在 "百度

  • Python爬取百度翻译实现中英互译功能

    目录 基础步骤 提交表单 获取响应并处理结果 消除警告 main.py sign.py 由于下学期报了一个Python的入门课程 所以寒假一直在自己摸索,毕竟到时候不能挂科,也是水水学分 最近心血来潮打算试试爬一下百度翻译 肝了一天终于搞出来了 话不多说,直接开搞(环境是Python 3.8 PyCharm Community Edition 2021.3.1) 基础步骤 百度翻译会识别到爬虫,所以得用headers隐藏一下 以chorme浏览器为例 在百度翻译页面点击鼠标右键,选择“检查”(或

  • python使用re模块爬取豆瓣Top250电影

    爬蟲四步原理: 1.发送请求:requests 2.获取相应数据:对方及其直接返回 3.解析并提取想要的数据:re 4.保存提取后的数据:with open()文件处理 爬蟲三步曲: 1.发送请求 2.解析数据 3.保存数据 注意:豆瓣网页爬虫必须使用请求头,否则服务器不予返回数据 import re import requests # 爬蟲三部曲: # 1.获取请求 def get_data(url, headers): response = requests.get(url, headers

  • python使用requests库爬取拉勾网招聘信息的实现

    按F12打开开发者工具抓包,可以定位到招聘信息的接口 在请求中可以获取到接口的url和formdata,表单中pn为请求的页数,kd为关请求职位的关键字 使用python构建post请求 data = { 'first': 'true', 'pn': '1', 'kd': 'python' } headers = { 'referer': 'https://www.lagou.com/jobs/list_python/p-city_0?&cl=false&fromSearch=true&a

  • Python用requests库爬取返回为空的解决办法

    首先介紹一下我們用360搜索派取城市排名前20. 我们爬取的网址:https://baike.so.com/doc/24368318-25185095.html 我们要爬取的内容: html字段: robots协议: 现在我们开始用python IDLE 爬取 import requests r = requests.get("https://baike.so.com/doc/24368318-25185095.html") r.status_code r.text 结果分析,我们可以

  • Python基于requests库爬取网站信息

    requests库是一个简介且简单的处理HTTP请求的第三方库 get()是获取网页最常用的方式,其基本使用方式如下 使用requests库获取HTML页面并将其转换成字符串后,需要进一步解析HTML页面格式,这里我们常用的就是beautifulsoup4库,用于解析和处理HTML和XML 下面这段代码便是爬取百度的信息并简单输出百度的界面信息 import requests from bs4 import BeautifulSoup r=requests.get('http://www.bai

  • Python利用lxml模块爬取豆瓣读书排行榜的方法与分析

    前言 上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地址是: https://www.douban.com/doulist/1264675/?start=0&sort=time&playable=0&sub_type= 该排行榜一共有22页,且发现更改网址的 start=0 的 0 为25.50就可以跳到排行榜的第二.第三页,所以后

  • python爬虫教程之爬取百度贴吧并下载的示例

    测试url:http://tieba.baidu.com/p/27141123322?pn=begin  1end   4 复制代码 代码如下: import string ,urllib2 def baidu_tieba(url,begin_page,end_page):    for i in range(begin_page, end_page+1):        sName = string.zfill(i,5)+ '.html'        print '正在下载第' + str(

随机推荐