Из документации:
deny (регулярное выражение (или список)) - одно регулярное выражение (или список регулярных выражений), которому (абсолютные) URL-адреса должны соответствовать, чтобы быть исключенными (т. Е. Не извлеченными). Он имеет приоритет над параметром allow. Если он не указан (или пуст), он не исключит никаких ссылок.
https://doc.scrapy.org/en/latest/topics/link-extractors.html#module-scrapy.linkextractors.lxmlhtml
Это означает, что deny
- это список регулярных выражений, которые должны соответствовать url. Шаблоны, определенные в вашем коде, не совпадают с URL-адресами, которые вы сканируете - вам нужно добавить символы подстановки в начале и конце, если вы хотите, чтобы содержал сортировку соответствия:
$ ptpython
>>> import re
>>> url = "http://guba.eastmoney.com/list,of161823.html"
>>> re.match('guba', url)
>>> re.match('.+guba.+', url)
<re.Match object; span=(0, 44), match='http://guba.eastmoney.com/list,of161823.html'>