改写了一下程式码,可参考 https://pastebin.com/19TJULMd
原来的程式的主要问题在于
第一次抓 user name 和第二次抓 user tags 的动作是分开的
有可能在从 user name 找 user tags 的时候,两者间没有对应在一起
后来的程式,先将代表一个 user 的 div 抓起来
再从里面分别找 user name 和 tags
这样子,就可以将 user name 和 tags 对应起来
印出来的结果没有整理,看需求再自行更改吧
※ 引述《busystudent (busystudent)》之铭言:
: 各位好,最近使用for循环写了一只功能有自动换页且挖掘资料的程式码,可是当使用for循环换页时一直抓错页面。
: 例如当我在links =[]里的range()输入2时,就会出现抓错页面的状况。
: 主程式码在这里:
: http://dpaste.com/18VP2HA
: 主程式的pseudocode:
: List = [ 想要抓的网页 ]
: for a in list: #网页切换地
: for link in links:印出现在切换到哪个网页
: for link in links#抓出使用者的名称
: for shop_ink in shop_table:#用regex找出名称
: break#跳出
: for link in links#抓出使用者tag
: for n in name_list#用regex找出tag
: Output 使用者帐号 、使用的标签
: Output 使用者帐号 、使用的标签
: Output 使用者帐号 、使用的标签
: ['mkitchen', 'heatherperkinson',]
: ['mkitchen', 'heatherperkinson',]
: ================================================
: ['ela', 'elementary', ']
: 若错误时则会出现
: []
: []
: 输出为类似上述的list,依序为帐号和标签
: 我试着修改后大概知道,我过多的for循环导致后面的res = requests.get(link)抓错位置和name_list接收错误的资料,以至于无法准确的使用正规表示法处理,印出我想要的输出,但是我实在无法确定到底是哪一个for出现问?