python写爬虫教程_用Python写爬虫程序基础教程(一)

最近身边朋友都在讨论股市是不是牛市要来了吧?

如果想自己做一个股市收盘价前三十名的涨跌幅度,又不用每天去点击网页浏览,用Python写个爬虫程序来做是不是超棒der

268615b2facc9ac74c29900f446fd2b5.png

环境建置

安装Python

安装PyCharm

建立专案

开启PyCharm,点击创建新项目

2db87020ace7d8fc0078ae42b200daa9.png

输入项目名称,点击创建

20a214510bbf83ae3a5ec481ca3a2d2e.png

安装图书馆

撰写爬虫程序前,需要先安装以下

beautifulsoup

请求

在PyCharm上方工具列选择

e613361c06ce12115a3c06d80afdb8d3.png

点击顶部选单的项目:[PROJECT_NAME]→项目解释器→点击底部的+

f1d1f244e376352670db3dec42edf5b5.png

分别输入beautifulsoup4,requests,进行下载安装

5f5fae23726d43a6be2d68e312c260f1.png

美丽的汤4

4260777d4186a018288365f4d48dd2eb.png

取得网页内容

首先,开启Chrome浏览器,针对目标网页中我们要抓取的内容点击快捷→检查

788c411c784c1a109aafb630e2328fab.png

新增python档案

1294eb6d7c9cea604151b2080ba2230d.png

输入以下程式,取得目标网页的内容

从bs4导入BeautifulSoup

导入请求

c_money ='https

://www.cmoney.tw/finance/f00062.aspx'res = requests.get(c_money)

print(res.text)

疑问?为什么回来的内容和在网页中看到的原始码不一样?

那就表示网页的内容可能是透过Javascript程序执行之后再将内容显示。

因此,我们要改变一下程式写法,加入request-html

7758f4630760a82932c2ee37ad5e2dd3.png

输入以下程式,重新取得网页内容

从request_html导入HTMLSession

导入请求

c_money ='https

://www.cmoney.tw/finance/f00062.aspx'session = HTMLSession()

resp = session.get(c_money)

resp.html.render()

print(resp.html .html)

如果遇到SyntaxError:语法无效的问题,将python版本提升至3.6版以上就可以啰。

但!

就是这个但是,总是会遇到意外发生,已经做了render还是取不到内容,那就对程式再做一些小改造,加入一些参数至render,例如:

resp.html.render(睡眠= 1,向下滚动= 1,等待= 0.2)

嘿嘿,取得的网页内容已经和浏览器内容一样了。

解析网页

还记得刚刚浏览的原始码吗?内容依据表格的方式呈现

617a93b4ac436ce93608e84b45414e75.png

随后安装Pandas这个强大的图书馆来进行资料检索取

0adb31b884a455cc2bc82f355f832500.png

将程式加入以下写法

c_money_html = resp.html.html

data_frame = pandas.read_html(c_money_html)

打印(data_frame)

喔喔喔喔喔!结果出现啦~~~随后就可以将资料储存至资料库当中做后续的运作。

41c345257db6431b146e0d43bf368e37.png

也可以将结果转换为JSON文本

data_frame = pandas.read_html(c_money_html)

用于data_frame 中的数据:

json_text = data。to_json()

总结

基本上安装其中的图书馆几乎可以应付所有的网页进行资料撷取。

beautifulsoup

请求-html

请求

熊猫

如果有其他更好的爬虫方式,不妨一起交流交流吧〜

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值