请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

那位大佬肯抽出一点宝贵的时间给指点指点,为什么这个anchors打印出来主播名称和人数是分开的

from urllib import request
import re

class Spider():
url = "http://www.yy.com/game/"
root_pattern = '

  • ([\s\S]
?)'
name_pattern = '([\s\S]?)'
number_pattern = '([\s\S]*?)'
def __fetch_content(self):
r = request.urlopen(Spider.url)
htmls = r.read()
htmls = str(htmls,encoding=“utf-8”)
return htmls

    a = 1

def __analysis(self,htmls):
    root_html = re.findall(Spider.root_pattern,htmls)
    anchors = []
    for html in root_html:
        name = re.findall(Spider.name_pattern,html)
        number = re.findall(Spider.number_pattern,html)
        anchor = {"主播名称":name,"观看人数":number}
        anchors.append(anchor)
    print(anchors)

    

    


def go(self):
    htmls = self.__fetch_content()
    self.__analysis(htmls)

spider = Spider()
spider.go()

正在回答 回答被采纳积分+3

1回答

7七月 2019-06-19 12:27:54

这个怕只能自己调试下呀,每个网站的html不太一样,所以解析出来的也略有不同。

0 回复 有任何疑惑可以回复我~
  • 提问者 哦呀v度 #1
    感谢老师,但是学生是一名刚接触这个python语音的小白对您说的调试,还是整的不是太明白,您在视频上的讲的内容比较详细大部分都能听懂,就是在实验过程中遇到的问题对于学生我目前还是没有这个能力解决,还忘老师不吝赐教.
    回复 有任何疑惑可以回复我~ 2019-06-19 19:56:08
  • 7七月 回复 提问者 哦呀v度 #2
    这个不是老师不愿意帮你,而是有些东西只能自己去琢磨下。比如像这个爬虫,所用到的知识都是课程所教的没有超纲的 内容,如果这些简单的逻辑,都不能自己坚持一点点的耐心调整,那你的能力很难成长。调试 一步步的分析,这些都不是问题。
    回复 有任何疑惑可以回复我~ 2019-06-19 20:52:17
  • 提问者 哦呀v度 回复 7七月 #3
    感谢老师,我昨天晚上琢磨了下,可能想出来是什么原因了谢谢
    回复 有任何疑惑可以回复我~ 2019-06-20 17:56:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信