钱柜游戏官网 > 综合体育 > 此次抓取逻辑思维在代码之后

综合体育

此次抓取逻辑思维在代码之后

链接:

图片 1

 

所需获取数据链接相似于::

图片 2

 库:

requests (For human)

re (正则)

pandas (用来拍卖数据)

BeautifulSoup (用来解析网页文本)

 

此番抓取逻辑酌量在代码之后

上代码:

#coding utf-8
import requests
import re
import pandas
from bs4 import BeautifulSoup
user_agent = 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)'
headers = {'User-Agent':user_agent}
#定义函数,得到每日报的链接,并以列表形式返回
def get_newsurl():
    newsurl=[]
    url1='http://www.p2p001.com/licai/index/id/147/p/'
    num=1
    url2='.html'
    while num<=22:
        url=url1+str(num)+url2
        try:
            r1=requests.get(url,headers=headers)        
        except:
            print ('wrong %s' % url)
        else:
            s1=BeautifulSoup(r1.text,'lxml')
            for x in s1.find_all(href=re.compile('licai/shownews')):
                newsurl.append(x['href'])
            num=num+1        
    return newsurl
#定义函数,得到的数据,以字典形式返回
def get_info():
    url='http://www.p2p001.com'
    date=[]
    zonghe=[]
    one=[]
    one_three=[]
    three_six=[]
    six_twelve=[]
    twelve_most=[]
    for y in get_newsurl():
        try:
            main_url=url+y
            r2=requests.get(main_url,headers=headers)
        except:
                print ('wrong %s' % main_url)
        else:
            s2=BeautifulSoup(r2.text,'lxml')
            date.append(s2.find(text=re.compile('统计日期'))[5:])           
            rate=s2.find_all('td')
            zonghe.append(rate[10].string)
            one.append(rate[11].string)
            one_three.append(rate[12].string)
            three_six.append(rate[13].string)
            six_twelve.append(rate[14].string)
            twelve_most.append(rate[15].string)
    p={'Date':date,
        '综合':zonghe,
        '1个月':one,
        '1-3个月':one_three,
        '3-6个月':three_six,
        '6-12个月':six_twelve,
        '12个月及以上':twelve_most}
    return p
#pandas存储数据
p=pd.DataFrame(get_info())

 p.to_csv('f://1//rate1.csv',index=False,

           columns=['Date','综合','1个月','1-半年','3-四个月','6-11个月','十贰个月及以上'],

*           header=['Date','综合','1个月','1-三个月','3-五个月','6-11个月','拾贰个月及以上'])*

 

图片 3

 

 

此次学习计算及反思:

1.为了便于管理,并不曾选用数据库来囤积数据,而是选择pandas将数据以csv格式保存在该地硬盘F

2.概念第三个函数对象get_newsurl,以列表格局重临理财指数早报链接,第一个函数遍历第一个函数的再次回到值,进行多少的募集

3.为啥不将pandas的黄金时代雨后春笋操作放在函数对象get_info中,进而直接完事风流洒脱多种的操作呢?

  那时候酌量了频率和灵活性考虑。

  one:若是将pandas的数额操作丢在get_info中,那么调用get_info()的时候,整个频率将会骤降相当多浩大

  two:拿出去单独管理,灵活性大大升高,调用get_info(卡塔尔(英语:State of Qatar),以字典情势重返本人索要的数额,得到这一个数量后,作者能够做任何自身想做的管理,并不是用八个函数将总体访谈下来的数据直接打入地牢,让那么些数据还未了随机。

4.抓取思路

  ①首发掘晚报的链接规律,也正是说共有22页,每页20份晚报指数数据,因为只做三遍轻易的抓取,所以那么些值那些能够写死

本条就是首先个函数做的事,再次回到那几个href的值

图片 4

 ②跻身具体的早报页面,抓取大家所要求的数额,并以字典方式重回图片 5

③甩卖并蕴藏数据(pandas)

申明:数据来源于第一高利贷

 

小白生机勃勃枚,技艺轻松,做的不得了之处,特别是逻辑与思维上的事物,供给大神们见到了多多帮忙和斧正buddyquan。

QQ:174906一九一八小白爬虫求带