2024年Python最新Python爬虫快速入门:基本结构&简单实例

本文介绍了如何使用Python的BeautifulSoup库解析HTML页面,通过find和find_all方法定位和提取教师信息,包括链接和姓名,最后演示了如何将数据储存到控制台。同时提及了学习Python的系统化路径和资源获取。
摘要由CSDN通过智能技术生成

C Top

Chang, Seong Yeon

助理教授

sychang@xmu.edu.cn

//中间省略一大段相同结构的源码

邹至庄

教授

gchow@princeton.edu

这里我们使用bs4来解析。bs4是一个非常好的解析网页的库,后面我们会详细介绍。这次的解析先给大家看bs4里面最常用的几个BeautifulSoup对象的方法(method)。我们使用的这几个方法,主要是通过HTML的标签和标签里面的参数来定位,然后用特定方法(method)提取数据。

首先还是导入package:

from bs4 import BeautifulSoup

然后创建一个BeautifulSoup对象:

soup = BeautifulSoup(html,‘html.parser’) #html.parser是解析器

下面我们根据我们看到的网页提取。首先提取我复制的这部分的代码的第一行,先定位到这部分代码:

div_people_list = soup.find(‘div’, attrs={‘class’: ‘people_list’})

这里我们使用了BeautifulSoup对象的find方法。这个方法的意思是找到带有‘div’这个标签并且参数包含" class = ‘people_list’ "的HTML代码。如果有多个的话,find方法就取第一个。那么如果有多个呢?正好我们后面就遇到了,现在我们要取出所有的“a”标签里面的内容:

a_s = div_people_list.find_all(‘a’, attrs={‘target’: ‘_blank’})

这里我们使用find_all方法取出所有标签为“a”并且参数包含“ target = ‘_blank‘ ”的代码,返回一个列表。“a”标签里面的“href”参数是我们需要的老师个人主页的信息,而标签里面的文字是老师的姓名。我们继续:

for a in a_s:

url = a[‘href’]

name = a.get_text()

这里我们使用BeautifulSoup支持的方法,使用类似于Python字典索引的方式把“a”标签里面“href”参数的值提取出来,赋值给url(Python实际上是对对象的引用),用get_text()方法把标签里面的文字提起出来。

事实上,使用这四个方法就可以正常地解析大部分HTML了。不过如果只用这四个方法,很多程序会写的异常原始。所以我们后面再继续介绍更多解析方法。

3. 储存

这里我们先弱化一下具体的储存方法,先输出到控制台上面。我们在刚才的代码的基础上加一行代码:

for a in a_s:

url = a[‘href’]

name = a.get_text()

print name,url

使用print关键词把得到的数据print出来。让我们看看结果:

result

‘’’

Bluhm, Marcel /people/faculty/4b901e30_5f2a_4609_96ee_2d154954d22e.html

Bowers, Roslyn /people/faculty/47557237_8d2f_4f54_a889_7ea6b2e41c91.html

Caroline Botsford /people/faculty/b16b86f2_0eed_40da_ad4a_0b559864109e.html

鲍小佳 /people/faculty/85baa506_9087_4c89_979e_4a9fd19ff60b.html

Chang, Seong Yeon /people/faculty/d0c8f922_2c64_4bbb_99d9_b3d40a04cefe.html

蔡熙乾 /people/faculty/f642c7bf_ac86_42dd_a6ac_a85720d45c8e.html

蔡宗武 /people/faculty/55981260_ddce_43aa_97b5_3d7ad0ae2844.html

陈灯塔 /people/faculty/899ecc03_5fc6_4fd7_89d7_af93901ef6b1.html

陈国进 /people/faculty/22627c95_155a_4f18_a586_df9ac4f1d7ce.html

陈海强 /people/faculty/382f444e_a849_4818_9d34_ed6347d9cbf7.html

程立新 /people/faculty/ab01c285_bbcc_4354_b27e_3bfb947a3690.html

丁锦秀 /people/faculty/de839f24_9947_43a6_9857_580ec3d07e2d.html

董晓芳 /people/faculty/abd60523_953f_48aa_862d_4b0893c88f4a.html

范青亮 /people/faculty/739b6285_0f8e_4683_b71c_640a896b687f.html

方颖 /people/faculty/94656316_8cb0_4d02_a822_4d06c12dddbe.html

冯峥晖 /people/faculty/cb02c396_6b12_497f_a724_9127aa37da33.html

Graham, Brett /people/faculty/3af92170_844d_48a4_875f_98ed85d04207.html

耿森 /people/faculty/04a8870f_d728_4e83_ba95_1d00b53cf6df.html

龚天益 /people/faculty/d7c4cd68_7489_419a_a23a_85265e67d6f9.html

管中闵 /people/faculty/d7ecca89_f116_4757_8c1e_759e435ab813.html

郭晔 /people/faculty/69499729_7f5d_4b32_9a3d_29413a8e7f71.html

韩乾 /people/faculty/27b6b1c7_9787_4747_bd44_9f2e481b5a0f.html

韩晓祎 /people/faculty/f0852907_3fc8_422e_8517_4c2c6343d3fa.html

何亚男 /people/faculty/04cbc55f_a447_4e01_b30b_ebf9d01b6f4c.html

洪永淼 /people/faculty/07848586_e55c_4e2b_8934_4df456307d7b.html

黄娟娟 /people/faculty/e03b1af7_9119_49d8_ac3a_1fd7e4843ee2.html

薛绍杰 /people/faculty/cb05eba1_f8f9_419d_86f3_f6d7e557d006.html

荆海伟 /people/faculty/5f0a030f_bcdb_4c92_87f8_f16fc4a454cc.html

赖小琼 /people/faculty/159be896_9a94_4bb9_b967_65dacbef6332.html

李嘉楠 /people/faculty/45495497_f951_4f46_8546_17bafe4148e9.html

李梦玲 /people/faculty/44f6af2b_a423_4913_83ed_f83d0fa635e5.html

李木易 /people/faculty/386198a6_ff09_4105_8337_98be8d9eaf50.html

李培 /people/faculty/8799c2eb_2ac1_4354_b2a6_25f60eb93aa5.html

李迎星 /people/faculty/91a6e77b_4e97_4a7b_98ba_15a08f8bc5ef.html

李志文 /people/faculty/67b3184d_9989_42f1_84e4_c280962320a2.html

李智 /people/faculty/22c3d25f_913e_4f03_b40f_cd80a71a8cf7.html

廖谋华 /people/faculty/76d14b07_96cd_40de_bff1_276647bafb88.html

林光平 /people/faculty/b5a0449b_d991_4345_8802_e45be1adbda3.html

林海 /people/faculty/bf8bd4a1_dca2_4c08_8128_91120a5ffd84.html

林娟 /people/faculty/6714b425_91ba_40b4_95a1_e98299ffd21d.html

林明 /people/faculty/fadf2e50_6736_43b6_94a4_f0d69a3efb4b.html

刘鼎铭 /people/faculty/92f33f3c_4cdb_4abf_b030_8942ec17329f.html

刘继春 /people/faculty/aad04279_03c4_4182_be07_4bf5f59f0e41.html

刘婧媛 /people/faculty/c85a8534_b940_4fad_b220_1e9ed73aacf0.html

龙小宁 /people/faculty/a4ba4fec_65fa_4775_9802_0200645bca74.html

马超 /people/faculty/e1544cf5_21a6_4c35_b03f_3ba4845ef11c.html

马双鸽 /people/faculty/d8d1b107_2dfc_437a_b302_e4a1b43f0817.html

茅家铭 /people/faculty/600cf256_34ab_465b_8f60_d7a15bf56934.html

蒙莉娜 /people/faculty/61cd935f_51d0_4891_805e_b43354688765.html

孟磊 /people/faculty/78bdea7b_42dd_456c_bbc2_02c1db9ff980.html

牛霖琳 /people/faculty/3dd722d5_3c4f_41c2_a7bc_c69948e4714f.html

潘越 /people/faculty/a2c16c29_ba98_4883_bf69_a63d7de6c43f.html

屈文洲 /people/faculty/7b9aa674_62fb_4acf_b293_ff569f0a991a.html

任宇 /people/faculty/b134ac71_c990_4578_a730_4e90e1c50a4d.html

White, Chris /people/faculty/4c9e3afb_cb0b_4746_bbd5_e9e4302ed93a.html

王璐航 /people/faculty/dcb7ab35_a252_4e37_a31d_9ce86229cd85.html

王学新 /people/faculty/cfecc858_9c39_4fff_b056_eaf5999b83e6.html

王艺明 /people/faculty/f4448009_5c81_4725_9798_42ce40412ffb.html

王云 /people/faculty/06fc08d7_5dbd_4d28_8de9_4e7b57c04163.html

萧政 /people/faculty/da83c84c_cb80_431c_97ea_0bb6bd31745f.html

谢沛霖 /people/faculty/a9a0a3b2_99cb_43a6_b683_43861065fe38.html

徐海峰 /people/faculty/faa2370a_0b25_40c5_80f3_75862906b6a3.html

许文超 /people/faculty/dc8a8b18_3b1e_443d_bd49_81d15fd56cde.html

杨荷 /people/faculty/90b06e5e_d49d_43e1_b18c_dd3c855e001c.html

姚加权 /people/faculty/0550534a_6c10_4e82_930c_20cec564e781.html

叶茂亮 /people/faculty/39653e4b_d311_4de5_8974_041b546ad9dc.html

张晶 /people/faculty/9ce540c8_708e_4cf7_8f37_9f00c7edc6a5.html

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值