插入关键字 文章采集器( 百度/360搜索关键词的爬取和存储网络图片链接的格式)
优采云 发布时间: 2021-12-24 00:18插入关键字 文章采集器(
百度/360搜索关键词的爬取和存储网络图片链接的格式)
r.request.headers
结果如下:
爬虫如实告诉服务器,这次访问是由python请求库中的一个程序产生的。
4. 改变头部信息,让程序模拟浏览器发送爬取请求
kv={'user-agent':'Mozilla/5.0'} #构造键值对
url="https://www.amazon.cn/gp/product/B01M8L5Z3Y"
r=requests.get(url,headers=kv)
这时候再次查看r.status_code,返回的状态码为200,r.text中没有错误提示
完整的爬取框架如下:
import requests
url="https://www.amazon.cn/gp/product/B01M8L5Z3Y"
try:
kv={'user-agent':'Mozilla/5.0'}
r=requests.get(url,headers=kv)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[1000:2000])
except:
print("爬取失败")
二、百度/360搜索关键词提交
百度的关键词界面:
360的关键词界面:
可以通过params参数提交关键词。基本代码框架如下:
import requests
keyword="Python"
try:
kv={'wd':keyword}
r=requests.get("https://www.baidu.com/s",params=kv) #通过params将键值对输入进去并获得相关请求
print(r.request.url)
r.raise_for_status
print(len(r.text))
except:
print("爬取失败")
提交关键词到360搜索时,需要将kv={'wd':keyword}的'wd'改为'q'。
三、 网页图片的爬取和存储
网页图片链接格式:
即:url+picture.jpg
选择某个url中的图片网页(如:),可以看到图片的url
如果一个url链接以.jpg结尾,则表示它是一个图片链接,该链接是一个文件,如下图:
图片是二进制格式。要将二进制图片保存到文件中,通常使用以下代码:
path="E:\\Spider learning\\xunyi.jpg" #保存图片的位置和图片的名字
url="http://imgsrc.baidu.com/baike/pic/item/0d338744ebf81a4cb3f882fed82a6059252da63b.jpg"
r=requests.get(url)
#print(r.status_code)
with open(path,'wb') as f:
f.write(r.content)
f.close()
with open() as f:打开一个文件并将其定义为文件标识符 f
r.content:响应对象中的r.content表示返回的二进制格式的内容
完整的代码框架如下:
通过这种方式修改代码可以保存在线视频、*敏*感*词*、flash等。
四、IP地址归属地自动查询
要确定地址的归属,必须有一个库。程序中没有这样的库。您可以在 Internet 上找到相关资源。如IP138网站()
在ip138网站中输入IP地址,点击查询后,可以看到地址栏中的url发生了变化,格式变为:
使用这样的 URL,您可以通过提交 IP 地址找到 IP 地址的家。
代码显示如下:
import requests
kv={'user-agent':'Mozilla/5.0'}
url="https://www.ip138.com/iplookup.asp?ip="
try:
r=requests.get(url+'202.204.80.112&action=2',headers=kv)
r.raise_for_status()
r.encoding=r.apparent_encoding #可防止输出的网页内容中出现乱码
#print(r.text[-500:]) #返回文本的最后500个字节
print(r.text)
except:
print("爬取失败")
从输出结果可以看出,这个IP地址对应的是贝利官网:
从这个例子我们可以知道,我们有时在网站上看到的人机交互方式,比如图形、文本框等需要点击提交到服务器的,其实都是在表单中提交的的链接。只要通过对网页的分析知道如何获取后台提交表单,就可以使用python代码模拟提交到服务器。