python - 如何用scrapy在另一个方法中调用一个方法
问题描述
我想在 parse_list 方法中调用 selenium_parse 方法,但它似乎只是跳过它,即使我在调试时在 selenium_parse 中设置了一个断点。有谁知道怎么称呼这个?我在 Win10 中使用 Pycharm。
class Spider(scrapy.Spider):
name = ''
allowed_domains = ['']
start_urls = ['']
def __init__(self, *args, **kwargs):
self.driver = webdriver.Chrome()
super(Spider, self).__init__(*args, **kwargs)
def start_requests(self):
urls = [
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse_list)
def parse_list(self, response):
special_list_urls = response.css(
'#SpecialsSlideBox > div.row-fluid.mrow-fluid > div > ul > li> a::attr(href)').extract()
special_list_names = response.css(
'#SpecialsSlideBox > div.row-fluid.mrow-fluid > div > ul > li> a::text').extract()
dictionary = dict(zip(special_list_names, special_list_urls))
for u in dictionary:
target_url = dictionary[u]
*****self.selenium_parse(category, target_url)*****
def selenium_parse(self, category,target_url):
self.driver.get(target_url + '&page=1')
解决方案
推荐阅读
- wordpress - Random Taxonomies on Post
- arrays - Swift,如何使用带有索引的数组重新排序另一个数组
- node.js - How to write custom validation error on mongoose schema?
- java - Spring-Boot UUID: java.sql.SQLException: Invalid utf8 character string
- javascript - RTSP streaming using node js?
- javascript - How to go to next input by pressing enter in soft keyboard in android web-view phonegap build
- android - Layout_alignParentRight and others aren't working
- java - The system cannot find the path specified: Error while starting zookeeper(Apache Kafka)
- mysql - docker下迁移mysql5/laravel 5报错Specified key was too long
- android - Invoke Flutter (Dart) code from native Android home screen widget