首页 > 编程语言 >自学Python爬虫笔记(day2)

自学Python爬虫笔记(day2)

时间:2023-04-05 13:55:09浏览次数:45  
标签:Python pypi resp day2 爬虫 -- print requests com

环境python3.9版本及以上,开发工具pycharm

 

浏览器工具推荐使用Chrome,其他浏览器均有一定程度的阉割。

主要是熟练使用后端界面进行爬取数据。

 

http协议:超文本传输协议

把一条消息分为三大块内容:

  请求:

  1.请求行 --> 请求方式(get/post) 请求URL地址 协议

  2.请求头 --> 放一些服务器要使用的附加信息

  3.请求体 --> 一般放一些请求参数

  响应:

  1.响应行 --> 协议 状态码(200(正常访问)、302(请求重定向)、404(URL错误)、500(服务器错误))

  2.响应头 --> 放一些客户器要使用的附加信息

  3.响应体 --> 服务器返回的真正客户端要用的内容(HTML、json)等

 

requests模块入门:

安装步骤:打开pycharm-->找到下方的terminal终端界面-->输入pip install requests-->等待下载完毕即可使用

若安装速度缓慢,可百度搜索国内源下载,也可直取:

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
一次性使用方式: pip install -i http://pypi.douban.com/simple/ SomePackage 如果提示不信任则用这个: pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com SomePackage 后面再要加参数的话就如这样: pip install -i http://e.pypi.python.org --trusted-host e.pypi.python.org --upgrade pip #--upgrade 升级pip

使用requests模块获取百度源代码:

import requests

# 爬取百度的页面源代码
url = "http://www.baidu.com"
resp = requests.get(url)
resp.encoding = 'utf-8'
print(resp)     # 查看响应状态
print(resp.text)        # 拿到页面源代码

在pycharm中请求访问数据:

import requests

content = input('请输入你要检索的内容:')
url = f'https://www.sogou.com/web?query={content}'

headers = {
    # 添加一个请求头信息,UA
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
}
# 处理一个小小的反爬
resp = requests.get(url, headers=headers)
print(resp.text)

print(resp.request.headers)     # 可以查看到请求头信息

get方式请求参数:

import requests

url = "https://movie.douban.com/j/chart/top_list?type=13"

data = {
    "type": "13",
    "interval_id": "100:90",
    "action": "",
    "start": "0",
    "limit": "20"
}

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
}

resp = requests.get(url, params=data, headers=headers)
# print(resp.text)      # 返回的是文本字符串
print(resp.json())      # 获取json数据

post方式请求:

import requests

url = "https://fanyi.baidu.com/sug"

data = {
    "kw":input('请输入一个单词:')
}

resp = requests.post(url, data=data)

print(resp.text)        # 拿到的是文本字符串

# 或者导入json包,使用print(resp.text)
print(resp.json()['data'])      # 此时拿到的是json数据。

标签:Python,pypi,resp,day2,爬虫,--,print,requests,com
From: https://www.cnblogs.com/Hyun79/p/17289144.html

相关文章

  • python中isinstance()用法
    isinstance()用来判断一个对象是否是一个已知的类型,isinstance()函数的语法如下:isinstance(object,classtype)object--实例对象。classtype --可以是直接或间接类名、基本类型或者由它们组成的元组。isinstance()函数的返回值是布尔型,若object的类型是classtype,那么就......
  • Win10(CPU)+ Anaconda3 + python3.9安装pytorch
    Win10(CPU)+Anaconda3+python3.9安装pytorch1.安装Anaconda31.1下载Anaconda3可以在官网下载Anaconda3-2022.05-Windows-x86_64.exe,这个版本对应的是python3.9。1.2安装Anaconda3此步骤比较简单,双击.exe文件,一步一步执行即可,有不确定的可以自行百度,教程比较多,但基本一致......
  • 关于python中使用json.load()从json文件中读取数据转换成字典
    在json模块中,我们可以经常会用到load()与loads(),其中两者的区别如下json.load()从json文件中读取数据转抱为dict类型json.loads()将str类型的数据转换为dict类型这里笔者主要说明json.load()的用法,举例说明,如下有一json文件,ip-ranges.json,内容如下:这里我们将使用json.load(......
  • Jenkins部署python-flask后端项目,持续集成(jinkins配置python虚拟环境)
    第一步:新建项目Jenkins->新建任务->起名字,构建一个自由风格的软件项目->保存第二步,添加git仓库第三步,构建,添加shell(Windows系统选择ExecuteWindowsbatchcommand)以windows为例感谢大佬的分享:https://www.cnblogs.com/andy0816/p/16617675.html......
  • Python爬虫 execjs执行js报错json.decoder.JSONDecodeError: Expecting value: line 1
    fun=re.search(r'(__=\([\S\s]*?;)<',r_text).group(1)fun=fun+'functionget(){returnJSON.stringify(__.data)}'ctx=execjs.compile(fun)rdata=(ctx.eval('get()'))报错json.decoder.JSONDecodeError:Expectingvalue:line1col......
  • 续:python 新环境的创建并在 spyder 中转换 - 如何解决转换环境时报错:invalid file pat
    原文地址blog.csdn.net目录重点问题描述解决方法各种尝试最终灵感重点不想看全文的直接看这里,不要安装一个和已有python环境一样版本的python(这里的一样指的是完全一样,比如都是python2.7.15),如果已有python2.7.15,可以创建python2.7.18的环境并在spyder中转换。如......
  • python 新环境的创建并在 spyder 中转换——在 spyder 中配置 arcgis 的 python 解释
    原文地址blog.csdn.net目录问题描述创建python新环境查看所有环境创建新的python2.7虚拟环境激活环境删除环境在spyder中配置环境,切换python解释器回归正题,将指定路径下的python解释器配置到spyder中重点——解决方法问题描述这几天上课需要下载和学习a......
  • Python装饰器与GIL锁解释
    Python进阶篇-系列文章全篇......
  • python机器学习案例系列教程——K最近邻算法(KNN)、kd树
    全栈工程师开发手册(作者:栾鹏)python数据挖掘系列教程K最近邻简介K最近邻属于一种估值或分类算法,他的解释很容易。我们假设一个人的优秀成为设定为1、2、3、4、5、6、7、8、9、10数值表示,其中10表示最优秀,1表示最不优秀。我们都知道近朱者赤,近墨者黑,我们想看一个人是什么样的,看......
  • python机器学习案例系列教程——文档分类器,朴素贝叶斯分类器,费舍尔分类器
    全栈工程师开发手册(作者:栾鹏)python数据挖掘系列教程github地址:https://github.com/626626cdllp/data-mining/tree/master/Bayes贝叶斯分类过程概述:首先有一批已知分类的数据集。对每个输入对象提取特征,根据输入对象的特征属性和输入对象的所属分类,计算分类与特征属性之间的概率......