爬虫-初试

1.requests安装

pip安装库 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

2.获取搜狗网页时的处理小反爬

import requests

# 地址栏里的链接都是get请求
url = "https://www.sogou.com/web?query=周杰伦"
# 这个时候会报错,显示非正常请求,处理小反扒:需要添加信任header:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
# Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3883.400 QQBrowser/10.8.4559.400
header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 ""Safari/537.36 Core/1.70.3883.400 QQBrowser/10.8.4559.400 "}
resp = requests.get(url, headers=header)
# 页面源代码
print(resp.text)
resp.close()  # 记得关闭

 3.百度翻译

import requests
# url通过抓包工具(f12),当输入dog的时候,页面会有一个一个请求,找到它的Header,里面就有,并且最底下formData的形式,就是代码下面post请求里面的data
url = "https://fanyi.baidu.com/sug"
s = input("请输入你要翻译的英文单词:\n")
dat = {
    "kw": s
}

# 发送请求
resp = requests.post(url, data=dat)
# 将服务器里面返回的内容转成json
print(resp.json())
resp.close()  # 记得关闭

4.豆瓣电影

import requests

# 打开f12,点击netWork抓包工具,XHR一般都是ajax请求,获取数据的,预览(preview)找到数据在那个,url ?后面的是参数
url = "https://movie.douban.com/j/chart/top_list"
# 当url很长时,考虑封装参数
# 通过滑动页面,发现start值在改变,那么这样就可以获取更多的数据
parm = {
    "type": 24,
    "interval_id": "100:90",
    "action": "",
    "start": 0,
    "limit": 20,
}
headers = {
    "User-Agent": "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "
                  "Chrome/77.0.3865.120 Safari/537.36 Core/1.77.97.400 QQBrowser/10.9.4621.400 "
}

# 发送请求时,会自动拼成刚开始在header里面看到的那样
resp = requests.get(url=url, params=parm, headers=headers)
print(resp.json())
resp.close()  # 记得关闭
# 这里没有headers时实际上没有爬取到,要一个个去尝试原因 """ 1.首先考虑User-Agent 代理 查看一下当前的默认代理:print(resp.request.headers) {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 准备header(在刚才的那个有数据的Headers里面找User-Agent): User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 Core/1.77.97.400 QQBrowser/10.9.4621.400 2. """

 

posted @ 2022-03-18 10:42  乔十六  阅读(49)  评论(0编辑  收藏  举报