python爬虫—爬取英文名以及正则表达式的介绍
爬取英文名:
一. 爬虫模块详细设计
(1)整体思路
对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv文件中;再读取csv文件当中的每个英文名链接,采用循环的方法读取每一个英文名链接,根据每个英文名链接爬取每个链接中的数据,保存在新的csv文件当中。
需要写一个爬取英文名链接的函数、将爬取的内容保存在csv文件的函数以及读取csv文件内容的函数、爬取英文名详情页内容的函数。
表5.3.1
函数名
作用
def get_nameLink():
爬取英文名链接
def save_to_csv(dict,filename):
将爬取的内容以字典的形式保存在csv文件
def get_WebLinkcsv(name):
读取csv文件的内容
def get_namedata():
根据链接爬取每个英文名的具体数据
(2)爬取英文名链接
首先观察A-Z英文名的网页的内容,发现每个字母都对应一个网站,刚打开网站只会显示三个模块的英文名,每个模块30个英文名;关于一个字母的更多的英文名是根据鼠标的移动再进行动态的加载才会在网页上显示出来;但每个字母的英文名不同的网页上显示。如图:
经观察,每个字母的所有英文名都可以根据页数来确定,可以不用动态爬取的方法,根据观察每个字母的英文名页数来确定每个字母英文名的数量进行爬取链接。链接格式为:
https://www.thebump.com/b/baby-girl-names-that-start-with-{letter}?sort_by=popular&page={number}&page_size=30&gender=&request-by-ajax=true
Letter表示A-Z的字母,number表示页数,page_size表示每个页面所显示的英文名数量为30个。
代码如下: