1264092392 发表于 2020-12-22 12:17:14

(小爬虫)这个DyListCover为什么会报错

这是斗鱼的人气名字爬取的相关代码
vscode说\d和\D有问题,我按照别人的爬虫视频改的感觉格式没错啊?
Anomalous backslash in string: '\d'. String constant might be missing an r prefix.
Anomalous backslash in string: '\D'. String constant might be missing an r prefix.

这是我的代码
from urllib import request
import re
class Spider():
    url = 'https://www.douyu.com/g/lol'
    root_pattern='<div class="DyListCover-info">[\d\D]</div>'
    def __fetch_content(self):
      r = request.urlopen(Spider.url)
      #可以打开网站的代码request.urlopen
      htmls = r.read()
      #此时的htmls里不是我们想要的,里面全是数字
      htmls = str(htmls,encoding='utf-8')
      #这样就可以把htmls转换为可以分析的数据
    def __analysis(self,htmls):
      pass

    def go(self):
      htmls = self.__fetch_content()
      self.__analysis(htmls)
      #把analysis里的htmls参数传入进来

hrp 发表于 2020-12-22 12:22:31

字符串前面加个r防止转义,报错都给出建议了,你都不看
root_pattern=r'<div class="DyListCover-info">[\d\D]</div>'

1264092392 发表于 2020-12-22 12:58:56

hrp 发表于 2020-12-22 12:22
字符串前面加个r防止转义,报错都给出建议了,你都不看
root_pattern=r'[\d\D]'

谢谢谢谢   我忘了r有防转义的意思了,我一看这个r,啥玩意
初学爬虫
页: [1]
查看完整版本: (小爬虫)这个DyListCover为什么会报错