python 学习 DAY26笔记

new scrapy 08 搜索引擎关键词提交

import requests


def getHTTPText(url):
    try:
        kv = {'q':'Python'}
        r = requests.get(url, params=kv)
        r.raise_for_status()
        return ('url:%s'%(r.request.url)), ('len:%d'%(len(r.text)))
    except:
        return 'HTTPError'

if __name__ == '__main__':
    url = 'https://www.so.com/s'
    print(getHTTPText(url))

ps:如何正确理解if __name__ == '__main__'
参见:https://www.cnblogs.com/yaohong/p/8660209.html

  • 按照我目前的认知,可以将该函数理解为一个接口,证明“我是我”——if __name__ == '__main__', 才可以被使用。也就是说__name__相当于一个指向身份的参数,若等于__main__则为自己。小明在别人眼里为小明。但对自己来说是自己。
  • 也即若同时存在相同名称的函数,若通过模块调用,很可能在调用函数时会发生同时出现的情况。
    比如说在使用的python文件中有函数main(),若调用的模块中也有main(),很可能在输入结果中会响应。若在模块中引入if __name__ == '__main__' main(),则可以避免。
  • 我觉得我理解的非常不透彻,以后明白了再来看看。

new scrapy 09 网络图片爬取和存储

  • 抓取图片
path = '/Users/mugpeng/Desktop/123.jpg'
url = path = '/Users/mugpeng/Desktop/123.jpg''https://mmbiz.qpic.cn/mmbiz_png/GIr2xTia5GJ67Gyuw7wiat5tyZC7ibHXNcukYcS6eyn6NYsGHJzibRI1OvxGLpKwbTYIWNNGLYV1UjJbLRtTsab3dQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1'
r.requests.get(url)
# 使用的是我推送中的一张图片
  • 将抓取到的图片保存到本地.jpg中。
with open(path, 'wb') as f:
    f.write(r.content)
f.close()
# 将本地path文件(.jpg)定义为标识符f,并将返回的内容写进去。
# r.content 将response的结果转换为二进制
# f.write() 将()内容写入f中
# f.close() 将文件关闭
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容