爬虫第一天:requests模板学习

本人学习《2020年Python爬虫全套课程(学完可做项目)》记录
连接*:https://www.bilibili.com/video/BV1Yh411o7Sz

requests模板学习

简易网络采集器
if __name__ == "__main__":

    headers = {
        
        'user-Agent': ...
    }
    url = 'https://www.sogou.com/web'
    kw = input('输入一个单词');
    param = {
        'query':kw
    }
    response = requests.get(url=url,params=param,headers=headers)
    page_text = response.text
    fileName = kw+'.html'
    with open(fileName,'w',encoding='utf-8') as fp:
        fp.write(page_text)
    print(fileName,'保存成功')

知识点:

  1. 处理url携带参数
    url = ‘https://www.sogou.com/web?query’
    ?query-将查询的字体保存在param字典中,命名为kw
  2. request.get(url,params,kwargs)
    对指定的url发起请求对应的url事携带参数的,并且请求过程中处理了参数
    url:网站的url
    params:请求时候的query
    response保存返回响应文本
  3. page_text = response.text
    获取返回文本并命名为page_text
  4. fileName = kw+’.html’
  5. with open(fileName,‘w’,encoding=‘utf-8’) as fp:
    fp.write(page_text)
    文件名为fileName,写入 方式为w,格式为utf-8’,写入page_text
  6. 伪装浏览器
    ‘user-Agent’:
破解百度翻译(已失效)

1.pose请求(携带参数)
2.响应数据事一组json数据*

  1. 指定url
    找到数据包内的XHR
  2. 进行UA伪装
  3. post请求参数处理(与get一致)
  4. 请求发送
  5. 获得响应数据:jason()直接返回一个对象(确认响应数据是json:content-Type)
if __name__ == "__main__":

    headers = {
        
        'user-Agent':'
    }
    post_url = 'https://fanyi.baidu.com/sug'
    url = 'https://www.sogou.com/web'
    word = input('输入一个单词')
    data={
        kw:word
    }
    fileName = word+'.json'
    response = requests.post(url=post_url,data=data,headers=headers)
    dic_obj=response.json()
    fileName = word+'.json'
    fp = open(fileName,'w',encoding='utf-8')
    json.dump(dic_obj,fp=fp,ensure_ascii=False)
    print('over')
    

知识点:

  1. json.dumps将一个Python数据结构转换为JSON:
import json
data = {
    'name' : 'myname',
    'age' : 100,
}
json_str = json.dumps(data)
  1. json.loads将一个JSON编码的字符串转换回一个Python数据结构
data = json.loads(json_str)

```python

with open('test.json', 'w') as f:
    json.dump(data, f)
 
with open('test.json', 'r') as f:
    data = json.load(f)
豆瓣电影(已失效)
if __name__ == "__main__":

    headers = {
        
        'user-Agent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Mobile Safari/537.36'
    }
    url = 'https://movie.douban.com/typerank'
    param = {
        'type':'24',
        'interval_id':'100:90',
        'action':'',
        'start':'60',
        'limit':'20',
    }
    response = requests.get(url=url,params=param,headers=headers)
    list_data = response.json()
    fp = open('./douban.json','w',encoding='utf-8')
    json.dump(list_data,fp=fp,ensure_ascii=False)
    print('over')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值