• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

幻锁

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

利用requests库访问360主页20次

一、安装

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()

 

posted on 2020-05-13 15:59  幻锁  阅读(193)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3