我想爬网站的一个页面:https://bbs.hupu.com/acg
要求使用多线程来并发爬取:范围是第一页的所有帖子,每个帖子包含标题、主题内容和第一页的所有回复内容。最后打印出爬到的所有帖子的标题。
这里不知道为什么代码出错。(应该是在ln4出错)
以及想知道什么时候才需要在select所在的句子后面加[0](比如ln4的第7行)?
div下没有参数指定样式的元素,下标越界了,多线程爬太快了被网站拦截返回其他内容了吧。。
这是你div.select()没有选择到匹配的p元素, 返回的是[]空列表。
空列表没有0下标, 取列表的[0]下标元素就会是IndexError: list index out of range下标越界的错误
你检查下div.select()中css选择符是否正确, 函数传递的text是不是正确的内容(因为网站可能有反爬虫机制会返回出错的页面信息).
关键地方加一些输出,看看获取到的内容是什么。如果是数组且第一条记录是你要的,就加[0]
对应的html代码是这样的 那个div.select()的内容该怎么写才对?