Re: [问题] 关于程式输出时如何呼叫第二支程式的问题

楼主: octantis (@.@)   2016-04-22 05:15:39
※ 引述《busystudent (busystudent)》之铭言:
: a主程式码
: http://dpaste.com/2S5SC2B
你主程式码下面有问题
links = ['http://www.diigo.com/user/tony_swann/' + a ]放到外面去
否则只有一个然后包成list再用for进去list里读出来有何意义?
改成:
links = ['http://www.diigo.com/user/tony_swann/' + x for x in tag_list]
for link in links:
res = requests.get(link)
soup = BeautifulSoup(res.text.encode("utf-8"), 'html.parser')
fol_table = soup.findAll('div', {'class': 'Titleinner'})
a_links = [tag['href'] for link in fol_table
for tag in link.findAll('a', {'href': True})]
#将一个tag的所有结果放进同一个list,然后将list丢给b主程式码
可简化成a_links = [a['href'] for a in soup.select('div.Titleinner a')]
将fol_table与a_link合并
结构:
links里装所有的标签
a_link为一个标签里的所有分析到的网址
然后把a_link丢进b主程式码
: b主程式码
: http://dpaste.com/1A5ZHM8
不知道是不是你要的答案,你的问题我要想很久才猜得到你"可能"想表达的意思...
列出你想得到的答案型式,不然光猜就要猜好久
作者: MOONY135 (谈无欲)   2016-04-22 10:24:00
看描述就觉得好乱喔...
作者: busystudent (busystudent)   2016-04-22 12:01:00
你好 谢谢你的回文,之前的叙述不好,不好意思我把文章叙述修改了你好 有一行我看不懂,想请你解释a_links = [tag['href'] for link in fol_tablefor tag in link.findAll('a', {'href': True})]这一行是什么意思?我第一看到撰写两种for在一行的式子
楼主: octantis (@.@)   2016-04-22 17:03:00
就是相当于for循环里再一个for循环不然就是用下面写的简化版 看起来比较干净简单那行等于for link in fol_table:for tag in link.findAll('a', {'href': True}):a_links.append(tag['href'])
作者: busystudent (busystudent)   2016-04-22 17:09:00
谢谢你的说明!还有简化版那行一否有误,它报错'NoneType'执行如下 http://dpaste.com/196AJ7F
楼主: octantis (@.@)   2016-04-22 20:14:00
啊!你是用bs3而非bs4,难怪会出错,bs3可能没法这样用

Links booklink

Contact Us: admin [ a t ] ucptt.com