模块的安装:pip intall 模块名称
requests:是一个常用的用于http请求的模块,它使用python语言编写,可以方便的对网 页进行爬取,是学习python爬虫的较好的http 请求模块。
BeautifulSoup:是编写 python 爬虫常用库之一,主要用来解析 html 标签
import josn:是一种轻量级的数据交换格式,易于人阅读和编写。
xwlt:这是一个开发人员用来生成与微软Excel版本95到2003兼容的电子表格
文件的库。
mongo:非关系型数据库
链接数据库:
./mongod *&
./mongo
pymongo
import os:OS:模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。
import sys:sys模块包含了与Python解释器和它的环境有关的函数。
from pc1 import :导入模块,每次使用模块中的函数,直接使用函数就可以了。注:因为已经知道该函数是那个模块中的了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
通过网页爬虫,获取每一名运动员的信息,并存到Excel表格中。
https://www.iaaf.org/records/toplists/sprints/100-metres/outdoor/men/senior/2018?page={}
程序思路:
一、通过运动员网址信息获得headers,以浏览器的身份浏览访问网址。找到'records-table'标签,继续fand_all('tr')。td的列表第三项是带href只要把td_l里面的每一项赋值就好了,组成json数据{}插入到mongo。
二、找到id='progression'标签里的'h2'标签。print(tbody) # 可以拿到里面的数据。两份,一份是室外,一份是室内。
三、def get_href():负责去mongo中取href,取到了然后访问得到的数据,存到原来的表中
四、把mongo数据库中的数据导入到Excel表格中。创建一个book 设置编码book = xlwt.Workbook(encoding='utf-8',style_compression=0)写入excel 参数对应 行, 列, 值
sheet = book.add_sheet('iaaf',cell_overwrite_ok=True)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
知识点总结:
headers = { 'User-Agent':}:我们设置了一个headers,在构建request时传入,在请求时,就加入了headers传送,服务器若识别了是浏览器发来的请求,就会得到响应。
find_all(' '):找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。
try-except:语句(以及其更复杂的形式)定义了进行异常监控的一段代码, 并且提供了处理异常的机制。
parent:通过 .parent 属性来获取某个元素的父节点
append:append() 方法用于在列表末尾添加新的对象。
strip():用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
if name == 'main': :在if name == 'main':下的代码只有文件作为脚本直接执行才会被执行,而import到其他脚本中是不会被执行的。
encoding=utf-8:用来说明你的Python源程序文件用使用的编码。缺省情况下你的程序需要使用ascii码来写,但如果在其中写中文的话,python解释器一般会报错,但如果加上你所用的文件编码,python就会自动处理不再报错。
book = xlwt.Workbook:创建excel
cell_overwrite_ok=True:这个参数是覆写的意思,默认是False,如果你现在要写的单元格里面,已经有内容了,就不能写了,如果你要是写的话会报错的。当然,我们在使用的时候,最好是设置成True。 这样对同一个单元格写入两次的话就不会报错了,当然,只会保留最后一次写入的值。
len(): len()方法返回对象(字符、列表、元组等)长度或项目个数。