关键词:
python爬虫入门(2)
Requests库实操
文章目录
一.实例
1.爬取京东热带风味冰红茶
在这破防的考试周,我们先来爬取一下超级美味的热带风味吧!
真的破防了啊!何以解忧,唯有红茶!呜呜呜😭😭😭
爬取它
import requests
url = "https://item.jd.com/100004890352"
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text)
except:
print("fail")
运行结果:
爬取成功!
2.百度搜索关键词提交
百度一下,你就知道👆当我们进行百度搜索的时候,会发生什么?👀
其实,搜索引擎都有
关键词提交接口
<--百度的关键词接口--> http://www.baidu.com/s?wd=keyword
那么只要用requests库构造一个符合百度接口的url就可以了
前面说过
那么根据关键词提交接口,我们就构造如下键值对
'wd':'爬虫'
## 百度搜索
import requests
keyword = "爬虫"
try:
kv = 'wd':keyword#键值对
r = requests.get("http://www.baidu.com/s",params=kv)
# 打印response对象中包含的request对象信息,
print(r.request.url)#别写成requests.url
r.raise_for_status()
#看一下返回的长度,先不打印出来内容
print(len(r.text))
except:
print("fail")
运行结果
http://www.baidu.com/s?wd=%E7%88%AC%E8%99%AB
709257
其它搜索引擎
每个搜索引擎有不同的关键词提交API
必应搜索是咋样的呢?
import requests
# 必应国内版
keyword = "爬虫"
try:
kv = 'q': keyword
r = requests.get("https://www.bing.com/?mkt=zh-CN", params=kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("fail")
运行结果
https://www.bing.com/search?mkt=zh-CN&q=%E7%88%AC%E8%99%AB
146609
google
呢?
import requests
# 谷歌搜索
keyword = "爬虫"
try:
kv = 'q': keyword # 键值对
r = requests.get("https://www.google.com/", params=kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("fail")
https://www.google.com/
运行结果
https://www.google.com/?q=%E7%88%AC%E8%99%AB
14194
所以,各个搜索引擎就是键值对的前面那个端口不同
可参考学习
看到两个比较好的讲爬取关键词的教程,可以点击here and there查看
3.爬取泸溪河图片并保存
回顾一下经典🐶
腻了吧唧的不好吃,有点儿像豌豆黄。里边儿还有什么,红豆啊什么之类的。还没我那冰红茶好喝呢。但是它那个乳酪,蛋黄还挺好吃的。刚才吃了俩,叫什么?泸溪河,泸溪河。这有点儿腻。
黏不拉叽的,又不是老北京那种豌豆黄儿。但是它有点那个…豌豆的那个感觉。应该是什么豆磨的面捏的一个糕。
用过图床,网络图片的一般格式应该就了解了,这里就不解释了
下面通过爬取图片的url,将图片从二进制格式转化为文件
关于os库的用法 👉here
python文件操作👉 with open等
保持原文件名
import requests
import os
url = "https://img2.baidu.com/it/u=4284204932,2551468984&fm=26&fmt=auto&gp=0.jpg"
root = "C://Users//86171//Desktop"
path = root + url.split('/')[-1]
try:
if not os.path.exists(root):
os.mkdir(root)
#根目录不存在,就建立根目录
if not os.path.exists(path):
#文件不存在,就爬取文件
r = requests.get(url)
with open(path,'wb') as f:
f.write(r.content)
f.close()
print('爬下来了,快去看看吧')
else:
print("already existing")
except:
print("fail")
#r.content是HTTP相应内容的二进制形式
#os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False
#os.mkdir(path[, mode]) 以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)
#split('/')[-1] filename = url.split('/')[-1] 以‘/ ’为分割f符,保留最后一段
自己命名
import requests
import os
url = "https://img2.baidu.com/it/u=4284204932,2551468984&fm=26&fmt=auto&gp=0.jpg"
path = "C://Users//86171//Desktop/泸溪河.jpg"
#注意不要写成//泸溪河.jpg,不然新建了一个叫泸溪河.jpg的文件夹
try:
if not os.path.exists(path):
r = requests.get(url)
with open(path,'wb') as f:
f.write(r.content)
f.close()
print('爬下来了,快去看看吧')
else:
print("already existing")
except:
print("fail")
爬取成功了!
😄还是冰红茶好喝!
4.IP地址自动归属地查询
fail
https://chapangzhan.com/查旁站
''旁站”一般指同一IP或者域名所在服务器的其他网站
import requests
url = "https://chapangzhan.com/"
try:
r = requests.get(url+'202.102.144.56') #我学校官网的IP
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text)
except:
print("fail")
一开始就显示fail,
然而有try和except看不出具体错误,于是把try和except先注释掉,
出现了各种错误
以为是开了代理的原因,然后关了代理,显示这个错误
期间还出现了10064
,10054
这些错误…😢 😢
success
折腾了老久,后来试了一下修改user-agent
,终于成功了✌️
import requests
kv ='user-agent':'Mozilla/5.0'
url = "https://chapangzhan.com/"
try:
r = requests.get(url+'202.102.144.56', headers=kv)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text)
except:
print("fail")
网站一般接收的是由浏览器引发的HTTP请求,而对于爬虫的请求,网站可以拒绝
response对象包含request请求,可以查看r.request.headers,原先是
爬虫告诉了服务器,这次访问是由python的requests库的程序引起的,服务器有来源审查,就可以使访问产生错误(不支持访问)
那么修改头部信息
(
Mozilla/5.0
是一个标准的浏览器标识)
二.遇到的问题
①vscode出问题
在VScode上面运行爬虫,然后没爬成功,显示了conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
于是去搜教程https://blog.csdn.net/chencaw/article/details/89035571
按里面说的添加了三个环境变量
解决了!
②google搜索那里
运行结果中这个网址https://www.google.com/?q=%E7%88%AC%E8%99%AB
打开后是这个页面:
而不是像百度和必应那样直接已经显示搜索结果了…
暂时还不知道为啥,之后再来解决
③爬取图片
为啥用根目录的那种方法只能在这里能找到我的图片
而我的图形界面的桌面上找不到…
而用重命名,直接保存到path的形式,却可以在桌面上找到:
评论区求解答🌸
④IP138
我知道有个IP查询网站是IP138
但为啥我用查旁站https://chapangzhan.com/报错的时候下面会显示
还有,我在查旁站的网页右键,进入检查界面,
为啥那里出现了一个cache.ip138?
这两个网站是啥关系呢🤔🤔
未完待续…问题还没解决😿
python爬虫入门(代码片段)
python爬虫入门(9)XPath实战爬取猪八戒网信息猪八戒网是服务类电子商务交易平台,提供围绕中小微企业发展的一站式服务文章目录python爬虫入门(9)一.逐步实现1.查看页面源代码2.提取页面源代码3.生成etree对象4.得到XPath... 查看详情
python爬虫入门(代码片段)
python爬虫入门(2)Requests库实操文章目录python爬虫入门(2)一.实例1.爬取京东热带风味冰红茶2.百度搜索关键词提交其它搜索引擎`必应搜索是咋样的呢?``google`呢?可参考学习3.爬取泸溪河图片并保存4.IP地址自... 查看详情
python爬虫入门(代码片段)
python爬虫入门(4)bs4库实践文章目录python爬虫入门(4)一.信息组织与提取方法1.三种主要的信息组织形式2.信息提取的一般方法实例:提取HTML中所有URL链接3.基于bs4库的HTML内容查找方法find_all方法name参数attrs参数recursive参数strin... 查看详情
python爬虫入门(代码片段)
python爬虫入门(5)正则表达式在线正则表达式测试网站文章目录python爬虫入门(5)一.正则表达式1.简介2.语法常用操作符语法实例经典正则表达式匹配IP地址的正则表达式二.使用re模块1.findall2.search3.match4.==finditer==5.正则... 查看详情
python爬虫入门(代码片段)
python爬虫入门(7)需求:爬取电影天堂电影天堂首页有很多分区,我选择爬取2021新片精品这一分区文章目录python爬虫入门(7)需求:一.逐步实现思路分析:1.检验状态码和编码2.找到分区,提取分区源代码3.从... 查看详情
python教程入门学习python爬虫入门学习:网络爬虫是什么(代码片段)
网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的... 查看详情
python爬虫入门教程:超级简单的python爬虫教程(代码片段)
这是一篇详细介绍[Python]爬虫入门的教程,从实战出发,适合初学者。读者只需在阅读过程紧跟文章思路,理清相应的实现代码,30分钟即可学会编写简单的Python爬虫。这篇Python爬虫教程主要讲解以下5部分内容ÿ... 查看详情
python爬虫-基础入门-爬取整个网站《1》(代码片段)
python爬虫-基础入门-爬取整个网站《1》描述: 使用环境:python2.7.15,开发工具:pycharm,现爬取一个网站页面(http://www.baidu.com)所有数据。python代码如下:1#-*-coding:utf-8-*-23importurllib245defbaiduNet():67request=urllib2.Request("http://www.b... 查看详情
python爬虫入门(代码片段)
if条件语句a=3ifa>3: print("ok")elifa==3: print("no")else: print("dagag")循环语句:list1=["aaa","eee"];i=0;whilei<len(list1): print(list 查看详情
python爬虫从入门到放弃,网络爬虫应用实战(代码片段)
python爬虫应用Request库get方法Request对象Response对象session会话对象正则匹配re.match()方法例题:bugku-web基础$_POST例题:bugku-速度要快例题:bugku-秋名山老司机例题:bugku-cookies欺骗Request库get方法Pythonrequests库的get()方法... 查看详情
python爬虫从入门到放弃,网络爬虫应用实战(代码片段)
python爬虫应用Request库get方法Request对象Response对象session会话对象正则匹配re.match()方法例题:bugku-web基础$_POST例题:bugku-速度要快例题:bugku-秋名山老司机例题:bugku-cookies欺骗Request库get方法Pythonrequests库的get()方法... 查看详情
python-入门的第一个爬虫例子(代码片段)
前言:此文为大家入门爬虫来做一次简单的例子,让大家更直观的来了解爬虫。本次我们利用Requests和正则表达式来抓取豆瓣电影的相关内容。一、本次目标:我们要提取出豆瓣电影-正在上映电影名称、评分、图片的信息,提取... 查看详情
python3爬虫入门到精通|环境安装(代码片段)
学习视频来源:崔庆才《Python3爬虫入门到精通》Python安装Anaconda国内镜像:Indexof/anaconda/archive/|清华大学开源软件镜像站|TsinghuaOpenSourceMirrorcondalist,看到所有安装的包,几乎不需要额外再安装其他包安装时用pip或c... 查看详情
python零基础入门爬虫原理与数据抓取-通用爬虫和聚焦爬虫(代码片段)
根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种.通用爬虫通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的... 查看详情
python零基础入门爬虫原理与数据抓取-通用爬虫和聚焦爬虫(代码片段)
根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种.通用爬虫通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的... 查看详情
100天精通python(爬虫篇)——第43天:爬虫入门知识(代码片段)
...每篇前言一、爬虫概述1.为什么要学习爬虫?2.爬虫与Python3.爬虫合法吗?4.爬虫的矛与盾5.爬虫原理图and流程图二、相关技术介绍1.HTML与CSS2.URL网址解释3.HTTP与HTTРS(1)常见请求方式(2)常见请求头(3&... 查看详情
30分钟入门python爬虫(代码片段)
爬虫介绍目标:理解爬虫基础知识及其原理简介:网络爬虫,就是我们制定规则,让程序自动爬取网上的信息,实现操作自动化基本流程图工作流程:1.找到想要爬取的网站,利用代码发送请求,等... 查看详情
python爬虫入门爬取豆瓣电影top250(代码片段)
python爬虫入门(6):爬取豆瓣电影top250本次用re库实现爬取豆瓣电影top250的第一页,当网页换页的时候start参数会变,暂未实现爬取后续内容有些网页的信息不直接在网页源代码中显示,有些网页会在网页源代码显示,所以... 查看详情