一个Python的爬虫,有一个地方不懂,望大神解答

for link in links:

    if('href'in dict(link.attrs)):    

        url = urljoin(page,link['href'])

        if url.find("'")!=-1:continue #就是这就话,为什么要找"'"?

        url=url.split('#')[0]

        if url[0:4]=='http' and not self.isindexed(url):

            ewpages.add(url)

        LinkText=self.gettextonly(link)

        self.addlinkref(page,url,LinkText) <span></span>

还是这段话,下面这段话


if('href'in dict(link.attrs))

这里面

dict

的作用是什么,没有dict会怎么样?


蛊毒传说
浏览 526回答 2
2回答

阿晨1998

这里dict是python中的一个标准函数,意思是将link标记中的属性转换成一个字典(k,v),而这里in的意思是看看href这个属性是否在attrs里出现,默认的link.attrs应该返回的是一个list来的(我猜的)

繁星淼淼

如果link.attrs返回的是属性和值组合的list,那么查找起来就相对麻烦一点,如果转换成dict查找就会方便很多
打开App,查看更多内容
随时随地看视频慕课网APP