Python爬虫知识第四天 requests实战(十八)

253 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看详情.

其他文章请点击主页查看哦~ 感兴趣的朋友可以看看~

Python第四天——requests实战

1. 获取百度网页并打印

在这里插入图片描述 1)模仿:获取淘宝网页并打印 在这里插入图片描述

import requests
url=('http://www.taobao.com')
r=requests.get(url)
r.encoding=r.apparent_encoding
print(r.text)

2、获取图片地址

1)错误 在这里插入图片描述 在这里插入图片描述 下载下来的图片为空

2)正确的 换个浏览器图片网址 [gimg2.baidu.com/image_searc…] 然后成功显示美女图片

然后我发现了图片地址的问题,1)之所以错误是我的图片地址不对,添加的是网页链接不是图片地址的链接,重新添加图片链接也成功了 在这里插入图片描述

3、获取视频

在这里插入图片描述 与获取图片方法一样,把图片地址换成视频地址(不能是网页视频地址),输出的图片格式换成视频格式即可。

4、搜狗关键词搜索爬取

1)错误 在这里插入图片描述 csdn查找方法:

2)正确 在这里插入图片描述

import requests
#指定url
url='https://www.sogou.com/web'
kw=input('ernter a word:')
header={
   'User-Agent':'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36'
    
}
param={
    'query':kw
}
#发起请求,做好伪装
response=requests.get(url=url,params=param,headers=header)
#获取相应数据
content=response.text
fileName=kw+'.html'
#将数据保存在本地
with open(fileName,'w',encoding='utf-8') as fp:
    fp.write(content)
print(fileName,'爬取完成!')

虽然没完全显示,但确实有 在这里插入图片描述

5、爬取百度翻译

找到接口: 在这里插入图片描述 获取百度翻译接口数据及请求方式: 在这里插入图片描述 1)问题:

在这里插入图片描述 参考:

www.fujieace.com/python/inde…

可能是超出范围? 试着换了一个字的,成功了.....

在这里插入图片描述 去掉注释的打印语句,输入“你好”成功了

在这里插入图片描述 输入“您好”,有错误提示 在这里插入图片描述

import json
import requests
url='https://fanyi.baidu.com/sug'
word=input('请输入想要翻译的词语或者句子:')
data={
    'kw':word
}
headers={
    'User-Agent':'Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36'
}
reponse=requests.post(url=url,data=data,headers=headers)
dic_obj=reponse.json()
print(dic_obj)
filename=word+'.json'
with open(filename,'w',encoding='utf-8')as fp:
    json.dump(dic_obj,fp=fp,ensure_ascii=False)
j=dic_obj['data'][1]['v']
print(j)

6、爬取豆瓣电影榜单

在这里插入图片描述 换了导入的顺序和reponse(虽然我觉得没有影响....)

在这里插入图片描述 链接内容为空,怪不得什么都没有 在这里插入图片描述 换成豆瓣官网:

movie.douban.com/chart

出现错误 在这里插入图片描述

查找问题:

www.cnblogs.com/loveprogram… chuanchuan.blog.csdn.net/article/det…

这些没成功

换请求的url 成功了 在这里插入图片描述

7、jk爬取

在这里插入图片描述 源代码:(from 川川)

import requests
import re
import urllib.request
import time
import os
header={
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
}
url='https://cn.bing.com/images/async?q=jk%E5%88%B6%E6%9C%8D%E5%A5%B3%E7%94%9F%E5%A4%B4%E5%83%8F&first=118&count=35&relp=35&cw=1177&ch=705&tsc=ImageBasicHover&datsrc=I&layout=RowBased&mmasync=1&SFX=4'
request=requests.get(url=url,headers=header)
c=request.text
pattern=re.compile(
    r'<div class="imgpt".*?<div class="img_cont hoff">.*?src="(.*?)".*?</div>',re.S
)
items = re.findall(pattern, c)
# print(items)
os.makedirs('photo',exist_ok=True)
for a in items:
    print(a)
for a in items:
    print("下载图片:"+a)
    b=a.split('/')[-1]
    urllib.request.urlretrieve(a,'photo/'+str(int(time.time()))+'.jpg')
    print(a+'.jpg')
    time.sleep(2)


总结

Python爬虫看着好高大上,深入接触好像也就那样?菜鸟大言不惭了。