一、安装

1、cmd进入命令行界面

2、直接输入 D:切换至D盘(python所在路径),

然后cd  python下的scripts所在路径,切换至pip所在位置

3、pip install requests  即可安装requests

其中,pip版本过低时,使用:python -m pipinstall --upgrade pip升级pip版本

二、requests的使用

循环访问一个网页多次:

import requests

 

url = 'https://hao.360.cn//'

fout = open('result.txt', 'w')

for i in range(10):

    r=requests.post(url)

    fout.write(url+' : OK withstatus_code: '+str(r.status_code))

    print(url+' : OK withstatus_code: '+str(r.status_code))

fout.close()

爬取中国大学排行

import requests
from bs4 import BeautifulSoup
import bs4
from pandas import DataFrame def getHTML(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
#解码格式
r.encoding = r.apparent_encoding
return r.text
except:
print("获取错误") def moveToList(ulist, html):
soup = BeautifulSoup(html, "html.parser")
# print(soup.find('tbody').childern)
# 找到目标数据标签,遍历tbody的孩子
for tr in soup.find('tbody').children:
# 过滤,如果tr的类型是bs4.element.Tag,那就是目标类型
if isinstance(tr, bs4.element.Tag):
# print(tr)
#将所有td标签(列值)存储到列表中
tds = tr('td')
# 将每个列表添加到大列表中作为一个元素,只取前三列(排名,大学,省份)的string(内容)
ulist.append([tds[0].string, tds[1].string, tds[2].string]) def printHTML(ulist,num):
tplt="{0:^6}\t{1:{3}^10}\t{2:<10}"
print(tplt.format("排名", "学校名称", "省份",chr(12288)))
for i in range(num):
u=ulist[i]
print(tplt.format(u[0], u[1], u[2],chr(12288)))
pass def main():
url = "http://www.zuihaodaxue.com/zuihaodaxuepaiming2018.html"
html = getHTML(url)
# print(html)
uinfo = []
moveToList(uinfo, html)
frame=DataFrame(uinfo)
#这里可以将内容输出到csv文件,data是项目下的包,修改相对路劲即可
#frame.to_csv("../data/bestUniversity.csv",index=0)
printHTML(uinfo,20)
main()

利用requests库访问360主页20次的更多相关文章

  1. 利用requests库访问网站

    1.关于requests库 函数 Response对象包含服务器返回的所有信息,也包含请求的Request信息. 访问百度二十次 import requests def getHTMLText(url ...

  2. python脚本实例002- 利用requests库实现应用登录

    #! /usr/bin/python # coding:utf-8 #导入requests库 import requests #获取会话 s = requests.session() #创建登录数据 ...

  3. python利用requests库模拟post请求时json的使用

    我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...

  4. 爬虫入门实例:利用requests库爬取笔趣小说网

    w3cschool上的来练练手,爬取笔趣看小说http://www.biqukan.com/, 爬取<凡人修仙传仙界篇>的所有章节 1.利用requests访问目标网址,使用了get方法 ...

  5. 利用Requests库写爬虫

    基本Get请求: #-*- coding:utf-8 -*- import requests url = 'http://www.baidu.com' r = requests.get(url) pr ...

  6. requests库写接口测试框架初学习

    学习网址:    https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dscpm/ff75b907-415d-4220-89 ...

  7. selenium原理应用 - 利用requests模拟selenium驱动浏览器

    前言 selenium是一个web自动化测试的开源框架,它支持多语言:python/java/c#… 前面也有一篇文章说明了,selenium+浏览器的环境搭建. selenium支持多语言,是因为s ...

  8. 『居善地』接口测试 — 3、Requests库介绍

    目录 1.Requests库 2.Requests库文档 3.Requests库安装 4.Requests库的使用 (1)使用步骤 (2)示例练习 5.补充:Json数据和Python对象互相转化 1 ...

  9. requests库结合selenium库共同完成web自动化和爬虫工作

    我们日常工作中,单纯的HTTP请求,程序员都倾向于使用万能的python Requests库.但大多数场景下,我们的需求页面不是纯静态网页,网页加载过程中伴随有大量的JS文件参与页面的整个渲染过程,且 ...

随机推荐

  1. AQS3---出队(凌乱,供参考,先看AQS2)

    出队时候,如果队列处于稳定状态,那么就是一个挨着一个出队,难点在于出队的时候,队列正处于调整阶段,那么此时队列中的关系是混乱无章可寻的.  出队:unlock释放锁,不在队列线程去抢锁,队列第一个正常 ...

  2. jmeter 获取总的线程数

    String threads="${__BeanShell(ctx.getThreadGroup().getNumThreads())}"; vars.put("thre ...

  3. Spring Security 解析(四) ——短信登录开发

    Spring Security 解析(四) -- 短信登录开发   在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security ...

  4. centos7安装mysql初始化报错

    [root@localhost bin]# ./mysqld --initialize --user=mysql2019-09-16T06:15:28.835202Z 0 [Warning] TIME ...

  5. python第五章程序练习题

    5.2 def isOdd(a): if a%2!=0: return True else: a=eval(input()) print(isOdd(a)) 5.3 def isNum(x): try ...

  6. javascript中五种迭代方法实例

    温习一下js中的迭代方法. <script type="text/javascript"> var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]; ...

  7. 使用wcftestclient.exe测试时,增加“最大消息大小配额”--maxReceivedMessa

    使用 WcfTestClient.exe工具测试的时候,可能会出现:这样的提示: 已超过传入消息(65536)的最大消息大小配额.若要增加配额,请使用相应绑定元素上的 MaxReceivedMessa ...

  8. Java判断两个时间相差的天数

    1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的   ...

  9. iOS测试中发现一个textview控制,使用clear()无法清除文字

    iOS测试中发现一个textview控制,使用clear()无法清除

  10. Date+闭包

    date类: var  time=new.date() get date() 返回一个月中的某一天 get day () 返回一周中的某一天 get fullyear() 对象以四位数返回年份 get ...