插入关键字 文章采集器( 百度/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代码模拟提交到服务器。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线