LA1 Requests库实验

Request库实战

[TOC]

实例1:京东商品页面爬取

例如我们爬取最新的荣耀V20信息,目前仅仅是将HTML内容爬取下来

V20京东地址为:https://item.jd.com/39167157921.html

导入requests库 - 输入url - 爬取html

import requests
try:
    r = requests.get('https://item.jd.com/39167157921.html')
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])
except:
    print('爬取失败')

结果为

'<!DOCTYPE HTML>\n<html lang="zh-CN">\n<head>\n    <!-- shouji -->\n    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />\n    <title>华为(HUAWEI) 荣耀v20手机 魅海蓝 8+128G 全网通【图片 价格 品牌 报价】-京东</title>\n    <meta name="keywords" content="华为(HUAWEI) 荣耀v20手机 魅海蓝 8+128G 全网通,华为(HUAWEI),,京东,网上购物"/>\n    <meta name="description" content="华为(HUAWEI) 荣耀v20手机 魅海蓝 8+128G 全网通图片、价格、品牌样样齐全!【京东正品行货,全国配送,心动不如行动,立即购买享受更多优惠哦!】" />\n    <meta name="format-detection" content="telephone=no">\n    <meta http-equiv="mobile-agent" content="format=xhtml; url=//item.m.jd.com/product/39167157921.html">\n    <meta http-equiv="mobile-agent" content="format=html5; url=//item.m.jd.com/product/39167157921.html">\n    <meta http-equiv="X-UA-Compatible" content="IE=Edge">\n    <link rel="canonical" href="//item.jd.com/39167157921.html"/>\n        <link rel="dns-prefetch" href="//misc.360buyimg.com"/>\n    <link rel="dns-prefetch" href="//static.360buyimg.com"/>\n    <link rel="dns-prefetch" href="//img10.360buyimg.com"/>\n    '

实例2:亚马逊商品页面爬取

​ 为什么要用Amazon呢,因为它的网站加入了反扒机制,会检测用户域,如果是爬虫则会拒绝访问,因此需要修改user-agent域来伪装成浏览器

选择一个商品网页,kindle泡面器https://www.amazon.cn/dp/B07746N2J9/ref=br_bsl_pdt-1?pf_rd_m=A1AJ19PSB66TGU&pf_rd_s=desktop-bestsellers-1&pf_rd_r=3XP0DWDNGYDFH219T9HY&pf_rd_r=3XP0DWDNGYDFH219T9HY&pf_rd_t=36701&pf_rd_p=546d17f0-7c03-421a-b79c-845e0ff4f521&pf_rd_p=546d17f0-7c03-421a-b79c-845e0ff4f521&pf_rd_i=desktop

import requests
url = 'https://www.amazon.cn/dp/B07746N2J9/ref=br_bsl_pdt-1?pf_rd_m=A1AJ19PSB66TGU&pf_rd_s=desktop-bestsellers-1&pf_rd_r=3XP0DWDNGYDFH219T9HY&pf_rd_r=3XP0DWDNGYDFH219T9HY&pf_rd_t=36701&pf_rd_p=546d17f0-7c03-421a-b79c-845e0ff4f521&pf_rd_p=546d17f0-7c03-421a-b79c-845e0ff4f521&pf_rd_i=desktop'
try:
    kv = {'user-agent':'Mozilla/5.0'} #Chrome works too
    r = requests.get(url, headers = kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print('爬取失败')

实例3:百度关键字提交

百度关键字url接口:

https://www.baidu.com/s?wd=keyword

这是一个关键字的情况,前面提到params参数可以添加参数到url,所以通过添加参数params来添加搜索关键词,而关键词的键值对是以wd=value出现

import requests
keyword = 'Python'
try:
    kv = {'wd':keyword}
    r = requests.get('baidu.com/s',params=kv)
    print(r.request.url)
    r.raise_for_status()
    print(len(t.text))
except:
    print('Failed')

实例4:网络图片的爬取和存储

​ 网络图片的爬取首先要取得图片链接的格式,使用get取得二进制数据后,使用write函数wb二进制写入

国家地理图片爬取

试一试中国国家地理的图片http://img0.dili360.com/ga/M01/34/17/wKgBy1SzO_SAeNc3AA6kjU76gRY482.tub.jpg

url最后的一段是文件的名称和格式

import requests
import os
url = 'http://img0.dili360.com/ga/M01/34/17/wKgBy1SzO_SAeNc3AA6kjU76gRY482.tub.jpg'
root = 'D://pics//'
path = root + url.split('/')[-1]
try:
    if not os.path.exists(root):
        os.mkdir(root)    #创建文件夹
    if not os.path.exists(path):
        r = requests.get(url)
        with open(path, 'wb') as f:
            f.write(r.content)    #二进制文件,用content返回信息
            print('File Saved')
    else:
        print('File existed')
except:
    print('Download Faild')

漂亮~

img
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容