爬虫入门5个实例

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

import requests

def getHTMLText(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "Something Wrong!!!" url = "https://item.jd.com/27528447148.html"
print(getHTMLText(url)[:1000])

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

import requests
kv = {'user-agent':'Mozilla/5.0'}
def getHTMLText(url):
try:
r = requests.get(url,timeout = 30,headers = kv)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "Something Wrong!!!" url = "https://www.amazon.cn/dp/B0083DP0CY/ref=cngwdyfloorv2_recs_0/460-1382173-5298568?pf_rd_m=A1AJ19PSB66TGU&pf_rd_s=desktop-2&pf_rd_r=07R056YCCZREBTBFN41G&pf_rd_r=07R056YCCZREBTBFN41G&pf_rd_t=36701&pf_rd_p=d2aa3428-dc2b-4cfe-bca6-5e3a33f2342e&pf_rd_p=d2aa3428-dc2b-4cfe-bca6-5e3a33f2342e&pf_rd_i=desktop"
print(getHTMLText(url)[1000:2000])

实例3:百度搜索关键字提交

import requests
keyword = "Python"
kv = {'wd':keyword}
def getHTMLText(url):
try:
r = requests.get(url,timeout = 30,params = kv)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "Something Wrong!!!" url = "http://www.baidu.com/s"
print(getHTMLText(url)[1000:2000])

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

import requests
import os url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1546773451861&di=7cd06f87b97e5a337e6e60a2986098dd&imgtype=jpg&src=http%3A%2F%2Fimg0.imgtn.bdimg.com%2Fit%2Fu%3D78010880%2C3063559069%26fm%3D214%26gp%3D0.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)
f.close()
print("Saved!")
else:
print("Already Exists")
except:
print("Something Wrong!!!")

实例5:IP地址归属地的自动查询

import requests

def getHTMLText(url):
try:
r = requests.get(url,timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "Something Wrong!!!" url = "http://m.ip138.com/ip.asp?ip="
ip = "202.204.80.112"
urls = url + ip
print(getHTMLText(urls)[-500:])

Requests库入门实例的更多相关文章

  1. Requests库主要方法解析以及Requests库入门需要掌握的框架

    Requests库主要方法解析以及Requests库入门 1.requests.request(method,url,**kwargs) **kwargs:控制访问的参数,均为可选项 params:字 ...

  2. requests库入门-16-Session和Cookie

    分类专栏: Python接口自动化测试之requests库入门 作者 | Anthony_tester ,300w+访问量博主,Oracle测试开发工程师. 地址 | https://blog.csd ...

  3. Python Requests库入门——应用实例-百度、360搜索关键词提交

    百度的关键词接口: http://www.baidu.com/s?wd=keyword 360的关键词接口: http://www.so.com/s?q=keyword keyword就是需要查找的关 ...

  4. 第一天 Requests库入门

    Requests库的get()方法 requests.get(url, params=None, **kwargs) ∙ url : 拟获取页面的url链接 ∙ params : url中的额外参数, ...

  5. requests库入门12-文件上传和下载

    因为找不到可以演示上传接口,所以只能纯代码了 文件上传 上传文件是在请求中使用files参数,files需要指向一个dict,然后dict里面的键是接口中对应文件名的字段,而值就是打开这个文件读取到内 ...

  6. requests库入门01-环境安装

    最近在项目中写了一个接口自动化测试的脚本,想要写一些文章来一下,方便自己回头来温习,感兴趣的可以跟着看,先写关于requests库的一些基本操作,然后再写整个框架的搭建.使用的是Python3+req ...

  7. Python 爬虫-Requests库入门

    2017-07-25 10:38:30 response = requests.get(url, params=None, **kwargs) url : 拟获取页面的url链接∙ params :  ...

  8. Requests库入门

    安装: $ pip install requests Response对象的一些基本属性: Response.status_code 请求的返回状态,正常为200 Response.text 页面的字 ...

  9. requests库入门笔记1

    1.使用requests库发送请求,fiddler无法抓到包:使用浏览器请求相同的url,可以抓到包 在请求参数中添加 proxies参数,如下: proxies = { 'http': 'http: ...

随机推荐

  1. 【Win】使用ScreenToGif制作gif动态图片

    ScreenToGif 经常要写各类教程,有时候需要制作一些演示动画,GIF动画图片是个不错的选择,ScreenToGif是一款GIF录屏软件,下载地址可自行百度. 运行环境 操作系统:windows ...

  2. 修改Swing窗口风格

    String look; java:    look = "javax.swing.plaf.metal.MetalLookAndFeel"; Windows:    look = ...

  3. php 事务处理,ActiveMQ的发送消息,与处理消息

    可以通过链式发送->处理->发送...的方式处理类似事务型业务逻辑 比如 发送一个注册消息,消息队列处理完注册以后,紧接着发送一个新手优惠券赠送,赠送完再发一个其它后续逻辑处理的消息等待后 ...

  4. 二进制搭建kubernetes多master集群【开篇、集群环境和功能介绍】

    本文主要说明kubernetes集群使用组建的版本和功能介绍.. 一.组件版本 Kubernetes 1.12.3 Docker 18.06.1-ce Etcd 3.3.10 Flanneld 0.1 ...

  5. 使用PrintWriter out=response.getWriter();输出script脚本时乱码解决

    使用PrintWriter out=response.getWriter();输出script脚本时乱码解决 最近遇到了一个奇怪的事情,仅仅用out.print("<script ty ...

  6. 2018.08.20 loj#116. 有源汇有上下界最大流(模板)

    传送门 貌似就是转成无源汇,然后两遍最大流搞定? 其实第二遍跑最大流是自动加上了第一次的答案. 代码: #include<bits/stdc++.h> #define N 100005 # ...

  7. 【转】Paxos算法2-算法过程

    ——转自:{老码农的专栏} 1.编号处理 根据P2c ,proposer在提案前会先咨询acceptor查看其批准的最大的编号和value,再决定提交哪个value.之前我们一直强调更高编号的prop ...

  8. tred_extract_EDED_new

    # -*- coding:utf-8 -*- import re ''' 适应新版本 ''' year='17a'#用户自定义 ss='./data/'#根目录 filename = ss+'EDED ...

  9. 完美解决VC++6.0与Visio/office不兼容问题!!!

    话说电脑上如果装有VC++6.0编程软件和Visio或office办公软件,那么经常编程的人就会遇到下面的问题:VC打不开文件和工程,总是提示读取内存错误,点“确定”后vc自动关闭,但vc却能新建文件 ...

  10. gorename: easy refactoring tool for Golang[转]

    To inaugurate this attempt of blog, I’ll talk about gorename a small but incredibly useful tool I ju ...