楼主: lxy444
10084 10

[问答] 请问 python 爬虫如何获取表格数据呢? [推广有奖]

  • 0关注
  • 7粉丝

副教授

83%

还不是VIP/贵宾

-

威望
0
论坛币
49235 个
通用积分
462.6689
学术水平
22 点
热心指数
22 点
信用等级
19 点
经验
210475 点
帖子
354
精华
0
在线时间
1682 小时
注册时间
2014-2-12
最后登录
2024-4-23

楼主
lxy444 学生认证  发表于 2016-4-11 22:01:59 |只看作者 |坛友微信交流群|倒序 |AI写论文
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我现在想用 python 爬取校友捐赠的信息做一些简单的数据分析,网页在这里:

http://alumni.xjtu.edu.cn/donation/namelist

内容示例如下:

1.png

上面有很多页,比如我想爬取前100页的数据,并存入到一个 Excel 表格中,请问该如何做呢? 希望能给出建议或者类似的 python 代码,非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 表格数据 Nation EXCEL ATION python 爬虫 表格

沙发
周小淦 发表于 2016-4-11 22:16:42 |只看作者 |坛友微信交流群
我也不太会,不过应该用url库吧,你试试自己学下Python吧。或者淘宝找人吧。你要不急我月底可以帮你做,哈哈。我也在自学,学艺不精,帮不上什么。

使用道具

藤椅
渲潇依旧 发表于 2016-5-17 14:15:48 |只看作者 |坛友微信交流群
还想做的话,私信我

使用道具

板凳
lxy444 学生认证  发表于 2016-5-18 08:23:37 |只看作者 |坛友微信交流群
周小淦 发表于 2016-4-11 22:16
我也不太会,不过应该用url库吧,你试试自己学下Python吧。或者淘宝找人吧。你要不急我月底可以帮你做,哈哈 ...
嗯,可以共同交流,一起学习

使用道具

报纸
LIXUANHANK 学生认证  发表于 2016-5-18 08:41:58 |只看作者 |坛友微信交流群
不错,我也想学

使用道具

地板
渲潇依旧 发表于 2016-5-18 18:42:49 |只看作者 |坛友微信交流群
我写了个程序,会在楼下贴出来,时间原因只测试了下载2页纸,没有问题,100页应该问题也不大

使用道具

7
渲潇依旧 发表于 2016-5-18 18:43:25 |只看作者 |坛友微信交流群
# -*- coding: utf-8 -*-
import requests
import sys
from lxml import etree
import pandas as pd
from multiprocessing.dummy import Pool as ThreadPool

reload(sys)
sys.setdefaultencoding("utf-8")

Name=[]
Money=[]
Project=[]
Date=[]
Style=[]
User_type=[]
page=[]
def spider(url):
    html=requests.get(url).text
    html=html.encode("utf-8")
    selector = etree.HTML(html)
    field=selector.xpath('//table[@class="table table-striped table-bordered"]')[0]
    content=field.xpath('tr')
    for each in content:
        list=each.xpath('td')
        name=list[0][0]
        name=name.xpath('string(.)').replace('\t','').replace(' ','')
        money=list[1].xpath('string(.)').replace('\t','').encode("utf-8")
        money=money.split()[0]
        project=list[2][0]
        project=project.xpath('string(.)').replace('\t','').replace(' ','')
        date=list[3][0]
        date=date.xpath('string(.)').replace('\t','').replace(' ','')
        style=list[4][0]
        style=style.xpath('string(.)').replace('\t','').replace(' ','')
        user_type=list[5][0]
        user_type=user_type.xpath('string(.)').replace('\t','').replace(' ','')
        Name.append(name)
        Money.append(money)
        Project.append(project)
        Date.append(date)
        Style.append(style)
        User_type.append(user_type)
for i in range(1,101):
    newpage='http://alumni.xjtu.edu.cn/donation/namelist?pageNo='+str(i)+'&pageSize=10&billnum=&donateUserName=&orderWay=&donationid=0'
    page.append(newpage)
# 我的电脑是双核,所以下面是2,根据自己电脑情况来定,也可以把下面一句删了,运行会慢一点
pool = ThreadPool(2)
pool.map(spider,page)

data={'Name':Name,'Money':Money,'Project':Project,'Date':Date,'Style':Style,'User_type':User_type}
data=pd.DataFrame(data)
data.to_csv('donation.csv',encoding='gbk')
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
LIXUANHANK + 5 + 5 + 5 精彩帖子
lxy444 + 5 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 5  学术水平 + 7  热心指数 + 7  信用等级 + 7   查看全部评分

使用道具

8
渲潇依旧 发表于 2016-5-18 18:46:28 |只看作者 |坛友微信交流群
结果跟附件里差不多

41B7.tmp.jpg (18.63 KB)

41B7.tmp.jpg

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
tomkins + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

9
lxy444 学生认证  发表于 2016-5-18 19:40:22 |只看作者 |坛友微信交流群
渲潇依旧 发表于 2016-5-18 18:43
# -*- coding: utf-8 -*-
import requests
import sys
非常感谢,好好学习一下你的代码!

使用道具

10
0277/cy 发表于 2016-7-5 22:46:48 |只看作者 |坛友微信交流群
请问  name=list[0][0] 这里使用了两次[ ][ ],下面的程序里第二个[ ]一直是0,好像没有用到?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 23:14