如何从网页中提取数据(用户名)

eri*_*cal 0 linux bash html-content-extraction

我想从会员列表页面收集用户名,如下所示:http: //www.marksdailyapple.com/forum/memberslist/

我想从所有页面获取每个用户名,

我想用bash在linux中做这个

我应该从哪里开始,有人可以给我一些提示吗?

Ben*_*ela 7

这就是我的Xidel制作的:

xidel http://www.marksdailyapple.com/forum/memberslist/ -e 'a.username'  -f '(//a[@rel="Next"])[1]'
Run Code Online (Sandbox Code Playgroud)

使用这个简单的行,它将使用适当的html解析器解析页面,使用css选择器查​​找具有名称的所有链接,使用xpath查找下一页并重复它直到所有页面都被处理

您也可以只使用css选择器编写它:

xidel http://www.marksdailyapple.com/forum/memberslist/ -e 'a.username'  -f 'div#pagination_top span.prev_next a'
Run Code Online (Sandbox Code Playgroud)

或模式匹配.在那里,您基本上只需从页面源复制要查找的html元素,并将文本内容替换为{.}:

xidel http://www.marksdailyapple.com/forum/memberslist/ -e '<a class="username">{.}</a>*'  -f '<a rel="next">{.}</a>'
Run Code Online (Sandbox Code Playgroud)