Python维基百科爬虫代码shuffle操作与find方法判断相关疑问
问题解答
关于
random.shuffle(allLinks)的作用:allLinks是从页面正文里按HTML代码从上到下的顺序抓取到的所有a标签集合,不打乱顺序的话每次遍历拿到的第一个符合要求的链接都是固定的。执行shuffle操作会把所有链接的顺序随机打乱,这样每次运行代码都能拿到一个随机的符合要求的维基内部链接,适合需要随机爬取不同维基词条的场景。关于
if link['href'].find("/wiki/") == -1的校验规则:
Python字符串的find()方法会返回指定子串第一次出现的索引位置,如果子串不存在就返回-1。这条判断的作用是校验当前a标签的href属性是否不包含/wiki/字段:如果判断成立,说明这个链接不是维基百科的内部词条链接,就用continue跳过该链接,只保留指向其他维基词条的内部链接。
内容的提问来源于stack exchange,提问作者Felipe
相关产品推荐
相关产品推荐

