Chapter 13:Understanding HTML&Assignment(2)
2016-04-01 19:07
375 查看
先贴代码,这个任务主要是抽取链接到其他页面的超链接,然后进入,在抽取,再进入。如此反复。(抽取几次代码中是根据用户输入的次数决定)
我用的是def一个函数然后递归调用的方法。
这次主要遇到的两个问题,
一个是构造的list,在每次进入函数时应该将它清零,否则输出的url将一直是第一次的。(因为其他的会被append()到后面)
二是关于能否在函数中修改传入的参数(本例中为url)的值,在这个例子中是不可以(参见crawl()中我注释掉的那行),但是我还没找到原因,如果在函数中修改url的值,同样一直输出第一次找到的url。
*python中设定要几次循环的方法:
则i会从0循环到3
import urllib from BeautifulSoup import * lst=list() i=0 url = raw_input('Enter url:') count=raw_input('Enter count:') position=raw_input('Enter position:') def crawl(url): html = urllib.urlopen(url).read() soup = BeautifulSoup(html) tags = soup('a') for tag in tags: lst.append(tag.get('href', None)) # url = lst[int(position)-1] for i in range(int(count)+1): print url crawl(url) url = lst[int(position)-1] lst=[]
我用的是def一个函数然后递归调用的方法。
这次主要遇到的两个问题,
一个是构造的list,在每次进入函数时应该将它清零,否则输出的url将一直是第一次的。(因为其他的会被append()到后面)
二是关于能否在函数中修改传入的参数(本例中为url)的值,在这个例子中是不可以(参见crawl()中我注释掉的那行),但是我还没找到原因,如果在函数中修改url的值,同样一直输出第一次找到的url。
*python中设定要几次循环的方法:
for i in range(4)
则i会从0循环到3
相关文章推荐
- HTML —— 多种空格转义字符
- HTML学习笔记(九)表单
- CSDN博客中嵌入背景音乐
- 抽取html中的所有链接
- HTML <font> 标签
- HTML —— HTML教程|HTML手册|HTML基础|HTML语法
- mac和window下的html开发工具
- HTML学习(七)——框架
- HTML <a> 标签
- 关于HTML中的title换行问题
- 关于VS打开cshtml出现 未能完成该操作。无效指针
- HTML学习(六)——表单
- 使用HTML写一个完整的注册页面
- 好玩的html
- 从服务器获取报表模板到html页面显示报表pdf
- html块状元素和内联元素检索
- html展示 pdf 利器
- C# Html格式内容转Csv内容包括table(重点在rowspan和colspan合并),p,div元素
- C#将html转pdf
- 动态HTML和W3C文档对象模型